@ironbee-ai/cli 0.15.0 → 0.16.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.
- package/CHANGELOG.md +2 -0
- package/dist/analytics/{emit.d.ts → claude/emit.d.ts} +1 -1
- package/dist/analytics/claude/emit.d.ts.map +1 -0
- package/dist/analytics/{emit.js → claude/emit.js} +34 -7
- package/dist/analytics/claude/emit.js.map +1 -0
- package/dist/analytics/{hook-trigger.d.ts → claude/hook-trigger.d.ts} +1 -1
- package/dist/analytics/claude/hook-trigger.d.ts.map +1 -0
- package/dist/analytics/{hook-trigger.js → claude/hook-trigger.js} +2 -2
- package/dist/analytics/claude/hook-trigger.js.map +1 -0
- package/dist/analytics/claude/log.d.ts.map +1 -0
- package/dist/analytics/{log.js → claude/log.js} +1 -1
- package/dist/analytics/claude/log.js.map +1 -0
- package/dist/analytics/{merge.d.ts → claude/merge.d.ts} +2 -1
- package/dist/analytics/claude/merge.d.ts.map +1 -0
- package/dist/analytics/{merge.js → claude/merge.js} +13 -1
- package/dist/analytics/claude/merge.js.map +1 -0
- package/dist/analytics/{pricing.d.ts → claude/pricing.d.ts} +1 -13
- package/dist/analytics/claude/pricing.d.ts.map +1 -0
- package/dist/analytics/{pricing.js → claude/pricing.js} +6 -14
- package/dist/analytics/claude/pricing.js.map +1 -0
- package/dist/analytics/{projection.d.ts → claude/projection.d.ts} +31 -7
- package/dist/analytics/claude/projection.d.ts.map +1 -0
- package/dist/analytics/{projection.js → claude/projection.js} +631 -327
- package/dist/analytics/claude/projection.js.map +1 -0
- package/dist/analytics/{spawn.d.ts → claude/spawn.d.ts} +4 -4
- package/dist/analytics/claude/spawn.d.ts.map +1 -0
- package/dist/analytics/{spawn.js → claude/spawn.js} +4 -3
- package/dist/analytics/claude/spawn.js.map +1 -0
- package/dist/analytics/{state.d.ts → claude/state.d.ts} +1 -1
- package/dist/analytics/claude/state.d.ts.map +1 -0
- package/dist/analytics/{state.js → claude/state.js} +2 -2
- package/dist/analytics/claude/state.js.map +1 -0
- package/dist/analytics/claude/transcript.d.ts.map +1 -0
- package/dist/analytics/{transcript.js → claude/transcript.js} +1 -1
- package/dist/analytics/claude/transcript.js.map +1 -0
- package/dist/analytics/codex/api-request.d.ts +108 -0
- package/dist/analytics/codex/api-request.d.ts.map +1 -0
- package/dist/analytics/codex/api-request.js +155 -0
- package/dist/analytics/codex/api-request.js.map +1 -0
- package/dist/analytics/codex/apply-patch.d.ts +21 -0
- package/dist/analytics/codex/apply-patch.d.ts.map +1 -0
- package/dist/analytics/codex/apply-patch.js +49 -0
- package/dist/analytics/codex/apply-patch.js.map +1 -0
- package/dist/analytics/codex/classifier.d.ts +28 -0
- package/dist/analytics/codex/classifier.d.ts.map +1 -0
- package/dist/analytics/codex/classifier.js +111 -0
- package/dist/analytics/codex/classifier.js.map +1 -0
- package/dist/analytics/codex/emit.d.ts +47 -0
- package/dist/analytics/codex/emit.d.ts.map +1 -0
- package/dist/analytics/codex/emit.js +158 -0
- package/dist/analytics/codex/emit.js.map +1 -0
- package/dist/analytics/codex/events-emit.d.ts +62 -0
- package/dist/analytics/codex/events-emit.d.ts.map +1 -0
- package/dist/analytics/codex/events-emit.js +555 -0
- package/dist/analytics/codex/events-emit.js.map +1 -0
- package/dist/analytics/codex/pricing.d.ts +57 -0
- package/dist/analytics/codex/pricing.d.ts.map +1 -0
- package/dist/analytics/codex/pricing.js +125 -0
- package/dist/analytics/codex/pricing.js.map +1 -0
- package/dist/analytics/codex/projection.d.ts +51 -0
- package/dist/analytics/codex/projection.d.ts.map +1 -0
- package/dist/analytics/codex/projection.js +1477 -0
- package/dist/analytics/codex/projection.js.map +1 -0
- package/dist/analytics/codex/spawn.d.ts +27 -0
- package/dist/analytics/codex/spawn.d.ts.map +1 -0
- package/dist/analytics/codex/spawn.js +64 -0
- package/dist/analytics/codex/spawn.js.map +1 -0
- package/dist/analytics/codex/status-snapshot.d.ts +80 -0
- package/dist/analytics/codex/status-snapshot.d.ts.map +1 -0
- package/dist/analytics/codex/status-snapshot.js +206 -0
- package/dist/analytics/codex/status-snapshot.js.map +1 -0
- package/dist/analytics/codex/transcript.d.ts +51 -0
- package/dist/analytics/codex/transcript.d.ts.map +1 -0
- package/dist/analytics/codex/transcript.js +134 -0
- package/dist/analytics/codex/transcript.js.map +1 -0
- package/dist/analytics/codex/types.d.ts +253 -0
- package/dist/analytics/codex/types.d.ts.map +1 -0
- package/dist/analytics/codex/types.js +29 -0
- package/dist/analytics/codex/types.js.map +1 -0
- package/dist/analytics/shared/classifier.d.ts.map +1 -0
- package/dist/analytics/{classifier.js → shared/classifier.js} +9 -0
- package/dist/analytics/shared/classifier.js.map +1 -0
- package/dist/analytics/shared/errors.d.ts.map +1 -0
- package/dist/analytics/shared/errors.js.map +1 -0
- package/dist/analytics/shared/tokens.d.ts +14 -0
- package/dist/analytics/shared/tokens.d.ts.map +1 -0
- package/dist/analytics/shared/tokens.js +17 -0
- package/dist/analytics/shared/tokens.js.map +1 -0
- package/dist/analytics/{types.d.ts → shared/types.d.ts} +42 -9
- package/dist/analytics/shared/types.d.ts.map +1 -0
- package/dist/analytics/shared/types.js.map +1 -0
- package/dist/clients/base.d.ts +9 -0
- package/dist/clients/base.d.ts.map +1 -1
- package/dist/clients/claude/hooks/activity-end.js +1 -1
- package/dist/clients/claude/hooks/activity-end.js.map +1 -1
- package/dist/clients/claude/hooks/activity-start.js +1 -1
- package/dist/clients/claude/hooks/activity-start.js.map +1 -1
- package/dist/clients/claude/hooks/clear-verdict.d.ts.map +1 -1
- package/dist/clients/claude/hooks/clear-verdict.js +14 -0
- package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
- package/dist/clients/claude/hooks/session-end.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-end.js +7 -1
- package/dist/clients/claude/hooks/session-end.js.map +1 -1
- package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-start.js +7 -1
- package/dist/clients/claude/hooks/session-start.js.map +1 -1
- package/dist/clients/claude/hooks/session-status.d.ts.map +1 -1
- package/dist/clients/claude/hooks/session-status.js +13 -9
- package/dist/clients/claude/hooks/session-status.js.map +1 -1
- package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
- package/dist/clients/claude/hooks/track-action.js +26 -1
- package/dist/clients/claude/hooks/track-action.js.map +1 -1
- package/dist/clients/claude/hooks/verify-gate.d.ts.map +1 -1
- package/dist/clients/claude/hooks/verify-gate.js +8 -1
- package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
- package/dist/clients/claude/index.d.ts +1 -0
- package/dist/clients/claude/index.d.ts.map +1 -1
- package/dist/clients/claude/index.js +7 -0
- package/dist/clients/claude/index.js.map +1 -1
- package/dist/clients/claude/util.d.ts.map +1 -1
- package/dist/clients/claude/util.js +55 -0
- package/dist/clients/claude/util.js.map +1 -1
- package/dist/clients/codex/commands/ironbee-verify/SKILL.md +58 -0
- package/dist/clients/codex/hooks/activity-end.d.ts +9 -0
- package/dist/clients/codex/hooks/activity-end.d.ts.map +1 -0
- package/dist/clients/codex/hooks/activity-end.js +65 -0
- package/dist/clients/codex/hooks/activity-end.js.map +1 -0
- package/dist/clients/codex/hooks/activity-start.d.ts +17 -0
- package/dist/clients/codex/hooks/activity-start.d.ts.map +1 -0
- package/dist/clients/codex/hooks/activity-start.js +38 -0
- package/dist/clients/codex/hooks/activity-start.js.map +1 -0
- package/dist/clients/codex/hooks/clear-verdict.d.ts +55 -0
- package/dist/clients/codex/hooks/clear-verdict.d.ts.map +1 -0
- package/dist/clients/codex/hooks/clear-verdict.js +299 -0
- package/dist/clients/codex/hooks/clear-verdict.js.map +1 -0
- package/dist/clients/codex/hooks/require-verdict.d.ts +30 -0
- package/dist/clients/codex/hooks/require-verdict.d.ts.map +1 -0
- package/dist/clients/codex/hooks/require-verdict.js +109 -0
- package/dist/clients/codex/hooks/require-verdict.js.map +1 -0
- package/dist/clients/codex/hooks/require-verification.d.ts +12 -0
- package/dist/clients/codex/hooks/require-verification.d.ts.map +1 -0
- package/dist/clients/codex/hooks/require-verification.js +136 -0
- package/dist/clients/codex/hooks/require-verification.js.map +1 -0
- package/dist/clients/codex/hooks/session-start.d.ts +10 -0
- package/dist/clients/codex/hooks/session-start.d.ts.map +1 -0
- package/dist/clients/codex/hooks/session-start.js +94 -0
- package/dist/clients/codex/hooks/session-start.js.map +1 -0
- package/dist/clients/codex/hooks/track-action-monitor.d.ts +10 -0
- package/dist/clients/codex/hooks/track-action-monitor.d.ts.map +1 -0
- package/dist/clients/codex/hooks/track-action-monitor.js +168 -0
- package/dist/clients/codex/hooks/track-action-monitor.js.map +1 -0
- package/dist/clients/codex/hooks/track-action-pre.d.ts +18 -0
- package/dist/clients/codex/hooks/track-action-pre.d.ts.map +1 -0
- package/dist/clients/codex/hooks/track-action-pre.js +35 -0
- package/dist/clients/codex/hooks/track-action-pre.js.map +1 -0
- package/dist/clients/codex/hooks/track-action.d.ts +22 -0
- package/dist/clients/codex/hooks/track-action.d.ts.map +1 -0
- package/dist/clients/codex/hooks/track-action.js +350 -0
- package/dist/clients/codex/hooks/track-action.js.map +1 -0
- package/dist/clients/codex/hooks/verify-gate.d.ts +15 -0
- package/dist/clients/codex/hooks/verify-gate.d.ts.map +1 -0
- package/dist/clients/codex/hooks/verify-gate.js +105 -0
- package/dist/clients/codex/hooks/verify-gate.js.map +1 -0
- package/dist/clients/codex/index.d.ts +42 -0
- package/dist/clients/codex/index.d.ts.map +1 -0
- package/dist/clients/codex/index.js +427 -0
- package/dist/clients/codex/index.js.map +1 -0
- package/dist/clients/codex/platforms/command-verify.backend.md +108 -0
- package/dist/clients/codex/platforms/command-verify.browser.md +108 -0
- package/dist/clients/codex/platforms/command-verify.node.md +61 -0
- package/dist/clients/codex/platforms/rule.backend.md +32 -0
- package/dist/clients/codex/platforms/rule.browser.md +17 -0
- package/dist/clients/codex/platforms/rule.node.md +28 -0
- package/dist/clients/codex/platforms/skill.backend.md +95 -0
- package/dist/clients/codex/platforms/skill.browser.md +28 -0
- package/dist/clients/codex/platforms/skill.node.md +62 -0
- package/dist/clients/codex/rules/ironbee-verification.md +48 -0
- package/dist/clients/codex/skills/ironbee-verification.md +80 -0
- package/dist/clients/codex/util.d.ts +193 -0
- package/dist/clients/codex/util.d.ts.map +1 -0
- package/dist/clients/codex/util.js +784 -0
- package/dist/clients/codex/util.js.map +1 -0
- package/dist/clients/cursor/hooks/activity-end.js +1 -1
- package/dist/clients/cursor/hooks/activity-end.js.map +1 -1
- package/dist/clients/cursor/hooks/clear-verdict.d.ts +5 -2
- package/dist/clients/cursor/hooks/clear-verdict.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/clear-verdict.js +12 -3
- package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
- package/dist/clients/cursor/hooks/session-end.js +1 -1
- package/dist/clients/cursor/hooks/session-end.js.map +1 -1
- package/dist/clients/cursor/hooks/verify-gate.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/verify-gate.js +6 -1
- package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
- package/dist/clients/cursor/index.d.ts +1 -0
- package/dist/clients/cursor/index.d.ts.map +1 -1
- package/dist/clients/cursor/index.js +13 -0
- package/dist/clients/cursor/index.js.map +1 -1
- package/dist/clients/registry.d.ts.map +1 -1
- package/dist/clients/registry.js +2 -1
- package/dist/clients/registry.js.map +1 -1
- package/dist/commands/{claude.d.ts → claude/index.d.ts} +1 -1
- package/dist/commands/claude/index.d.ts.map +1 -0
- package/dist/commands/{claude.js → claude/index.js} +12 -6
- package/dist/commands/claude/index.js.map +1 -0
- package/dist/commands/{otel.d.ts → claude/otel.d.ts} +5 -1
- package/dist/commands/claude/otel.d.ts.map +1 -0
- package/dist/commands/{otel.js → claude/otel.js} +9 -5
- package/dist/commands/claude/otel.js.map +1 -0
- package/dist/commands/claude/process-analytics.d.ts +19 -0
- package/dist/commands/claude/process-analytics.d.ts.map +1 -0
- package/dist/commands/{process-analytics.js → claude/process-analytics.js} +16 -15
- package/dist/commands/claude/process-analytics.js.map +1 -0
- package/dist/commands/{statusline-toggle.d.ts → claude/statusline-toggle.d.ts} +2 -2
- package/dist/commands/claude/statusline-toggle.d.ts.map +1 -0
- package/dist/commands/{statusline-toggle.js → claude/statusline-toggle.js} +8 -8
- package/dist/commands/claude/statusline-toggle.js.map +1 -0
- package/dist/commands/{statusline.d.ts → claude/statusline.d.ts} +1 -1
- package/dist/commands/claude/statusline.d.ts.map +1 -0
- package/dist/commands/{statusline.js → claude/statusline.js} +4 -4
- package/dist/commands/claude/statusline.js.map +1 -0
- package/dist/commands/codex/index.d.ts +11 -0
- package/dist/commands/codex/index.d.ts.map +1 -0
- package/dist/commands/codex/index.js +17 -0
- package/dist/commands/codex/index.js.map +1 -0
- package/dist/commands/codex/process-analytics.d.ts +14 -0
- package/dist/commands/codex/process-analytics.d.ts.map +1 -0
- package/dist/commands/codex/process-analytics.js +111 -0
- package/dist/commands/codex/process-analytics.js.map +1 -0
- package/dist/commands/hook.js +12 -0
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/import.js +3 -3
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/queue.js +3 -1
- package/dist/commands/queue.js.map +1 -1
- package/dist/hooks/core/actions.d.ts +17 -1
- package/dist/hooks/core/actions.d.ts.map +1 -1
- package/dist/hooks/core/actions.js +13 -0
- package/dist/hooks/core/actions.js.map +1 -1
- package/dist/hooks/core/activity-end.d.ts.map +1 -1
- package/dist/hooks/core/activity-end.js +4 -0
- package/dist/hooks/core/activity-end.js.map +1 -1
- package/dist/hooks/core/session-state.d.ts +15 -1
- package/dist/hooks/core/session-state.d.ts.map +1 -1
- package/dist/hooks/core/session-state.js +102 -7
- package/dist/hooks/core/session-state.js.map +1 -1
- package/dist/import/claude/analytics-runner.d.ts +1 -1
- package/dist/import/claude/analytics-runner.d.ts.map +1 -1
- package/dist/import/claude/analytics-runner.js +5 -5
- package/dist/import/claude/analytics-runner.js.map +1 -1
- package/dist/import/claude/auth-mode.d.ts +1 -1
- package/dist/import/claude/auth-mode.d.ts.map +1 -1
- package/dist/import/claude/discovery.js +1 -1
- package/dist/import/claude/discovery.js.map +1 -1
- package/dist/import/claude/encoding.js +1 -1
- package/dist/import/claude/encoding.js.map +1 -1
- package/dist/import/claude/events/file-change.d.ts +10 -1
- package/dist/import/claude/events/file-change.d.ts.map +1 -1
- package/dist/import/claude/events/file-change.js +79 -5
- package/dist/import/claude/events/file-change.js.map +1 -1
- package/dist/import/claude/events/tool-call.d.ts +16 -1
- package/dist/import/claude/events/tool-call.d.ts.map +1 -1
- package/dist/import/claude/events/tool-call.js +122 -15
- package/dist/import/claude/events/tool-call.js.map +1 -1
- package/dist/import/claude/runner.d.ts.map +1 -1
- package/dist/import/claude/runner.js +45 -3
- package/dist/import/claude/runner.js.map +1 -1
- package/dist/import/claude/summary.js +1 -1
- package/dist/import/claude/summary.js.map +1 -1
- package/dist/import/claude/transcript-walk.d.ts +1 -1
- package/dist/import/claude/transcript-walk.d.ts.map +1 -1
- package/dist/import/claude/transcript-walk.js +11 -4
- package/dist/import/claude/transcript-walk.js.map +1 -1
- package/dist/import/codex/analytics-runner.d.ts +46 -0
- package/dist/import/codex/analytics-runner.d.ts.map +1 -0
- package/dist/import/codex/analytics-runner.js +116 -0
- package/dist/import/codex/analytics-runner.js.map +1 -0
- package/dist/import/codex/discovery.d.ts +33 -0
- package/dist/import/codex/discovery.d.ts.map +1 -0
- package/dist/import/codex/discovery.js +202 -0
- package/dist/import/codex/discovery.js.map +1 -0
- package/dist/import/codex/events/file-change.d.ts +42 -0
- package/dist/import/codex/events/file-change.d.ts.map +1 -0
- package/dist/import/codex/events/file-change.js +125 -0
- package/dist/import/codex/events/file-change.js.map +1 -0
- package/dist/import/codex/events/tool-call.d.ts +49 -0
- package/dist/import/codex/events/tool-call.d.ts.map +1 -0
- package/dist/import/codex/events/tool-call.js +151 -0
- package/dist/import/codex/events/tool-call.js.map +1 -0
- package/dist/import/codex/runner.d.ts +34 -0
- package/dist/import/codex/runner.d.ts.map +1 -0
- package/dist/import/codex/runner.js +456 -0
- package/dist/import/codex/runner.js.map +1 -0
- package/dist/import/codex/summary.d.ts +20 -0
- package/dist/import/codex/summary.d.ts.map +1 -0
- package/dist/import/codex/summary.js +206 -0
- package/dist/import/codex/summary.js.map +1 -0
- package/dist/import/events/activity.d.ts.map +1 -1
- package/dist/import/events/activity.js +17 -2
- package/dist/import/events/activity.js.map +1 -1
- package/dist/import/events/session.d.ts +11 -1
- package/dist/import/events/session.d.ts.map +1 -1
- package/dist/import/events/session.js +19 -1
- package/dist/import/events/session.js.map +1 -1
- package/dist/import/ids.js +3 -3
- package/dist/import/ids.js.map +1 -1
- package/dist/import/pipeline.d.ts +22 -15
- package/dist/import/pipeline.d.ts.map +1 -1
- package/dist/import/pipeline.js +99 -18
- package/dist/import/pipeline.js.map +1 -1
- package/dist/import/types.d.ts +4 -0
- package/dist/import/types.d.ts.map +1 -1
- package/dist/import/types.js.map +1 -1
- package/dist/index.js +9 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/collector.d.ts +2 -1
- package/dist/lib/collector.d.ts.map +1 -1
- package/dist/lib/collector.js +28 -3
- package/dist/lib/collector.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/event.d.ts +18 -1
- package/dist/lib/event.d.ts.map +1 -1
- package/dist/lib/event.js +25 -1
- package/dist/lib/event.js.map +1 -1
- package/dist/lib/platform-section.d.ts.map +1 -1
- package/dist/lib/platform-section.js +8 -0
- package/dist/lib/platform-section.js.map +1 -1
- package/dist/otel/{context → claude/context}/build.d.ts +1 -1
- package/dist/otel/claude/context/build.d.ts.map +1 -0
- package/dist/otel/{context → claude/context}/build.js +3 -7
- package/dist/otel/claude/context/build.js.map +1 -0
- package/dist/otel/claude/context/classify.d.ts.map +1 -0
- package/dist/otel/claude/context/classify.js.map +1 -0
- package/dist/otel/{context → claude/context}/extract.d.ts +1 -1
- package/dist/otel/claude/context/extract.d.ts.map +1 -0
- package/dist/otel/claude/context/extract.js.map +1 -0
- package/dist/otel/claude/context/markers.d.ts.map +1 -0
- package/dist/otel/{context → claude/context}/markers.js +22 -3
- package/dist/otel/claude/context/markers.js.map +1 -0
- package/dist/otel/claude/context/util.d.ts.map +1 -0
- package/dist/otel/claude/context/util.js.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/ensure.d.ts +1 -1
- package/dist/otel/claude/daemon/ensure.d.ts.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/ensure.js +6 -6
- package/dist/otel/claude/daemon/ensure.js.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/forward.d.ts +1 -1
- package/dist/otel/claude/daemon/forward.d.ts.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/forward.js +0 -0
- package/dist/otel/claude/daemon/forward.js.map +1 -0
- package/dist/otel/claude/daemon/paths.d.ts.map +1 -0
- package/dist/otel/claude/daemon/paths.js.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/process.d.ts +1 -1
- package/dist/otel/claude/daemon/process.d.ts.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/process.js +1 -1
- package/dist/otel/claude/daemon/process.js.map +1 -0
- package/dist/otel/claude/daemon/reprocess.d.ts.map +1 -0
- package/dist/otel/{daemon → claude/daemon}/reprocess.js +2 -2
- package/dist/otel/claude/daemon/reprocess.js.map +1 -0
- package/dist/otel/claude/log-handler.d.ts.map +1 -0
- package/dist/otel/{log-handler.js → claude/log-handler.js} +1 -1
- package/dist/otel/claude/log-handler.js.map +1 -0
- package/dist/otel/collector.js +4 -4
- package/dist/otel/collector.js.map +1 -1
- package/dist/queue/flush.d.ts +23 -0
- package/dist/queue/flush.d.ts.map +1 -1
- package/dist/queue/flush.js +44 -0
- package/dist/queue/flush.js.map +1 -1
- package/dist/queue/handlers/send-event.d.ts.map +1 -1
- package/dist/queue/handlers/send-event.js +5 -4
- package/dist/queue/handlers/send-event.js.map +1 -1
- package/dist/queue/index.d.ts +2 -2
- package/dist/queue/index.d.ts.map +1 -1
- package/dist/queue/index.js +4 -1
- package/dist/queue/index.js.map +1 -1
- package/dist/queue/spawn.d.ts +20 -0
- package/dist/queue/spawn.d.ts.map +1 -1
- package/dist/queue/spawn.js +37 -0
- package/dist/queue/spawn.js.map +1 -1
- package/dist/tui/import/area.js +3 -3
- package/dist/tui/import/area.js.map +1 -1
- package/package.json +2 -1
- package/dist/analytics/classifier.d.ts.map +0 -1
- package/dist/analytics/classifier.js.map +0 -1
- package/dist/analytics/emit.d.ts.map +0 -1
- package/dist/analytics/emit.js.map +0 -1
- package/dist/analytics/errors.d.ts.map +0 -1
- package/dist/analytics/errors.js.map +0 -1
- package/dist/analytics/hook-trigger.d.ts.map +0 -1
- package/dist/analytics/hook-trigger.js.map +0 -1
- package/dist/analytics/log.d.ts.map +0 -1
- package/dist/analytics/log.js.map +0 -1
- package/dist/analytics/merge.d.ts.map +0 -1
- package/dist/analytics/merge.js.map +0 -1
- package/dist/analytics/pricing.d.ts.map +0 -1
- package/dist/analytics/pricing.js.map +0 -1
- package/dist/analytics/projection.d.ts.map +0 -1
- package/dist/analytics/projection.js.map +0 -1
- package/dist/analytics/spawn.d.ts.map +0 -1
- package/dist/analytics/spawn.js.map +0 -1
- package/dist/analytics/state.d.ts.map +0 -1
- package/dist/analytics/state.js.map +0 -1
- package/dist/analytics/transcript.d.ts.map +0 -1
- package/dist/analytics/transcript.js.map +0 -1
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js.map +0 -1
- package/dist/commands/claude.d.ts.map +0 -1
- package/dist/commands/claude.js.map +0 -1
- package/dist/commands/otel.d.ts.map +0 -1
- package/dist/commands/otel.js.map +0 -1
- package/dist/commands/process-analytics.d.ts +0 -18
- package/dist/commands/process-analytics.d.ts.map +0 -1
- package/dist/commands/process-analytics.js.map +0 -1
- package/dist/commands/statusline-toggle.d.ts.map +0 -1
- package/dist/commands/statusline-toggle.js.map +0 -1
- package/dist/commands/statusline.d.ts.map +0 -1
- package/dist/commands/statusline.js.map +0 -1
- package/dist/otel/context/build.d.ts.map +0 -1
- package/dist/otel/context/build.js.map +0 -1
- package/dist/otel/context/classify.d.ts.map +0 -1
- package/dist/otel/context/classify.js.map +0 -1
- package/dist/otel/context/extract.d.ts.map +0 -1
- package/dist/otel/context/extract.js.map +0 -1
- package/dist/otel/context/markers.d.ts.map +0 -1
- package/dist/otel/context/markers.js.map +0 -1
- package/dist/otel/context/util.d.ts.map +0 -1
- package/dist/otel/context/util.js.map +0 -1
- package/dist/otel/daemon/ensure.d.ts.map +0 -1
- package/dist/otel/daemon/ensure.js.map +0 -1
- package/dist/otel/daemon/forward.d.ts.map +0 -1
- package/dist/otel/daemon/forward.js.map +0 -1
- package/dist/otel/daemon/paths.d.ts.map +0 -1
- package/dist/otel/daemon/paths.js.map +0 -1
- package/dist/otel/daemon/process.d.ts.map +0 -1
- package/dist/otel/daemon/process.js.map +0 -1
- package/dist/otel/daemon/reprocess.d.ts.map +0 -1
- package/dist/otel/daemon/reprocess.js.map +0 -1
- package/dist/otel/log-handler.d.ts.map +0 -1
- package/dist/otel/log-handler.js.map +0 -1
- /package/dist/analytics/{log.d.ts → claude/log.d.ts} +0 -0
- /package/dist/analytics/{transcript.d.ts → claude/transcript.d.ts} +0 -0
- /package/dist/analytics/{classifier.d.ts → shared/classifier.d.ts} +0 -0
- /package/dist/analytics/{errors.d.ts → shared/errors.d.ts} +0 -0
- /package/dist/analytics/{errors.js → shared/errors.js} +0 -0
- /package/dist/analytics/{types.js → shared/types.js} +0 -0
- /package/dist/otel/{context → claude/context}/classify.d.ts +0 -0
- /package/dist/otel/{context → claude/context}/classify.js +0 -0
- /package/dist/otel/{context → claude/context}/extract.js +0 -0
- /package/dist/otel/{context → claude/context}/markers.d.ts +0 -0
- /package/dist/otel/{context → claude/context}/util.d.ts +0 -0
- /package/dist/otel/{context → claude/context}/util.js +0 -0
- /package/dist/otel/{daemon → claude/daemon}/paths.d.ts +0 -0
- /package/dist/otel/{daemon → claude/daemon}/paths.js +0 -0
- /package/dist/otel/{daemon → claude/daemon}/reprocess.d.ts +0 -0
- /package/dist/otel/{log-handler.d.ts → claude/log-handler.d.ts} +0 -0
|
@@ -17,8 +17,17 @@ export interface BuildFileChangeOpts {
|
|
|
17
17
|
projectName: string;
|
|
18
18
|
/** Parent turn's activity_id. */
|
|
19
19
|
activityId: string;
|
|
20
|
-
/** ISO timestamp from the assistant line. */
|
|
20
|
+
/** ISO timestamp from the assistant line (start-of-tool dispatch). */
|
|
21
21
|
timestamp: string;
|
|
22
|
+
/**
|
|
23
|
+
* ISO timestamp from the user/tool_result line that paired with this
|
|
24
|
+
* tool_use (end-of-tool wall clock). When finite, used as the wire
|
|
25
|
+
* `timestamp` so import matches live's `Date.now()`-at-PostToolUse
|
|
26
|
+
* semantic. Falls back to the assistant-line `timestamp` when the
|
|
27
|
+
* result line was truncated. Optional for tests that don't exercise
|
|
28
|
+
* the timestamp-parity path.
|
|
29
|
+
*/
|
|
30
|
+
resultTimestamp?: string | null;
|
|
22
31
|
toolUse: RawToolUse;
|
|
23
32
|
toolResult: RawToolResult | null;
|
|
24
33
|
config: IronBeeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-change.d.ts","sourceRoot":"","sources":["../../../../src/import/claude/events/file-change.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAuB,MAAM,6BAA6B,CAAC;AAEpF,OAAO,
|
|
1
|
+
{"version":3,"file":"file-change.d.ts","sourceRoot":"","sources":["../../../../src/import/claude/events/file-change.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAuB,MAAM,6BAA6B,CAAC;AAEpF,OAAO,EAAiD,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAEzH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;CACzB;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,IAAI,CAiIlF"}
|
|
@@ -32,6 +32,12 @@ function buildFileChange(opts) {
|
|
|
32
32
|
let operation;
|
|
33
33
|
let linesAdded;
|
|
34
34
|
let linesRemoved;
|
|
35
|
+
// `changeset` parity (see explanatory block below the event build).
|
|
36
|
+
// Computed inline alongside line counts so we share the snippet/content
|
|
37
|
+
// strings without re-extracting.
|
|
38
|
+
let changeset;
|
|
39
|
+
const captureChangeset = (0, config_1.getCaptureFileChangeset)(config);
|
|
40
|
+
const maxBytes = (0, config_1.getMaxChangesetBytes)(config);
|
|
35
41
|
if (toolName === "Edit") {
|
|
36
42
|
const oldStr = readString(toolUse.input, "old_string") ?? "";
|
|
37
43
|
const newStr = readString(toolUse.input, "new_string") ?? "";
|
|
@@ -39,26 +45,91 @@ function buildFileChange(opts) {
|
|
|
39
45
|
operation = "update";
|
|
40
46
|
linesAdded = counts.added;
|
|
41
47
|
linesRemoved = counts.removed;
|
|
48
|
+
if (captureChangeset) {
|
|
49
|
+
// Snippet-diff: doesn't byte-match live's full-file diff (line
|
|
50
|
+
// numbers are snippet-relative, not file-relative), but captures
|
|
51
|
+
// the agent's edit intent. Same precedent as Codex import using
|
|
52
|
+
// the V4A `e.body` slice as the "best we have offline" payload.
|
|
53
|
+
const diff = (0, file_diff_1.createUnifiedDiff)(oldStr, newStr, maxBytes);
|
|
54
|
+
if (diff !== null) {
|
|
55
|
+
changeset = diff;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
42
58
|
}
|
|
43
59
|
else {
|
|
44
60
|
// Write
|
|
45
61
|
const content = readString(toolUse.input, "content") ?? "";
|
|
46
62
|
operation = inferOperationFromResult(toolResult);
|
|
47
63
|
linesAdded = (0, file_diff_1.countLines)(content);
|
|
48
|
-
|
|
64
|
+
// Live↔import parity for `lines_removed` on `Write`: live (`clear-
|
|
65
|
+
// verdict.ts`) sets `0` on create (no prior content) and `null` on
|
|
66
|
+
// update (we don't pre-read in live either). Import was unconditionally
|
|
67
|
+
// `null`, which made the SAME Write-create event ship `0` from live
|
|
68
|
+
// and `null` from import — backend `(session_id, id)` dedup picks
|
|
69
|
+
// whichever lands last so the field flipped per-import. Mirror live's
|
|
70
|
+
// create→0 / update→null split.
|
|
71
|
+
linesRemoved = operation === "create" ? 0 : null;
|
|
72
|
+
if (captureChangeset && operation === "create") {
|
|
73
|
+
// Write-create: live diffs "" vs the full new content. Import has
|
|
74
|
+
// the full content in `tool_use.input.content`, so the produced
|
|
75
|
+
// bytes are IDENTICAL to live. For Write-update (operation:
|
|
76
|
+
// "update") we can't reproduce live's diff — prior file content
|
|
77
|
+
// is unrecoverable — so we omit, leaving live's value untouched
|
|
78
|
+
// by `(session_id, id)` latest-wins dedup.
|
|
79
|
+
const diff = (0, file_diff_1.createUnifiedDiff)("", content, maxBytes);
|
|
80
|
+
if (diff !== null) {
|
|
81
|
+
changeset = diff;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
49
84
|
}
|
|
50
|
-
|
|
85
|
+
// Live↔import timestamp parity. Live `clear-verdict.ts` writes the
|
|
86
|
+
// file_change event at PostToolUse with `Date.now()` (end-of-tool wall
|
|
87
|
+
// clock). The assistant transcript line is written at START-of-tool
|
|
88
|
+
// (model dispatch); only the next user/tool_result line carries the
|
|
89
|
+
// end-of-tool wall clock. Prefer `resultTimestamp` when finite; fall
|
|
90
|
+
// back to assistant-line `timestamp` when the result line was
|
|
91
|
+
// truncated. Without this, `tool_call.timestamp` (already fixed to use
|
|
92
|
+
// resultTimestamp) and `file_change.timestamp` for the SAME tool
|
|
93
|
+
// diverged by the tool-execution duration (sub-second on Read/Edit,
|
|
94
|
+
// seconds on long Bash/Write) — backend `(session_id, id)` dedup
|
|
95
|
+
// flipped the wire value between start-of-tool and end-of-tool across
|
|
96
|
+
// re-imports. Codex import already does this at runner.ts:221.
|
|
97
|
+
const { resultTimestamp } = opts;
|
|
98
|
+
const endMs = typeof resultTimestamp === "string" && resultTimestamp.length > 0
|
|
99
|
+
? Date.parse(resultTimestamp)
|
|
100
|
+
: NaN;
|
|
101
|
+
const startMs = Date.parse(timestamp);
|
|
102
|
+
const tsMs = Number.isFinite(endMs)
|
|
103
|
+
? endMs
|
|
104
|
+
: (Number.isFinite(startMs) ? startMs : Date.now());
|
|
51
105
|
// Import has no fix cycles, so `fix_id` is OMITTED from the wire payload
|
|
52
106
|
// (matches live mode's behavior when no fix is active — `getActiveFixId`
|
|
53
107
|
// returns undefined and JSON.stringify drops the key). Earlier we set
|
|
54
108
|
// `fix_id: ""` literally, which made it past TS `FixAwareEvent.fix_id:
|
|
55
109
|
// string` typing but was rejected by the collector's schema validator
|
|
56
|
-
// (
|
|
57
|
-
// satisfy the TS type without emitting the empty
|
|
110
|
+
// (the collector treats `fix_id` as a non-empty string when present).
|
|
111
|
+
// The cast lets us satisfy the TS type without emitting the empty
|
|
112
|
+
// value on the wire.
|
|
113
|
+
// `changeset` live↔import parity (mirrors Codex import file-change.ts
|
|
114
|
+
// round-33 fix). Live emits a hunks-only unified-diff string when
|
|
115
|
+
// `fileChange.captureChangeset: true`; import was emitting NOTHING for
|
|
116
|
+
// that field. Re-import of an actions.jsonl already shipped by live
|
|
117
|
+
// would then overwrite the live `changeset` with `undefined` via the
|
|
118
|
+
// collector's `(session_id, id)` latest-wins dedup, silently dropping
|
|
119
|
+
// the diff payload. Above we now emit:
|
|
120
|
+
// - Write create → `createUnifiedDiff("", content)` matches live
|
|
121
|
+
// byte-for-byte (live also diffs prior="" vs full new content).
|
|
122
|
+
// - Edit → snippet diff of `old_string` vs `new_string`. Doesn't
|
|
123
|
+
// byte-match live's full-file diff (line numbers differ) but
|
|
124
|
+
// captures the agent's edit intent — same tradeoff Codex import
|
|
125
|
+
// makes with the V4A `e.body` slice.
|
|
126
|
+
// - Write update → omitted (prior file content not in the
|
|
127
|
+
// transcript; emitting an empty/missing-prior diff would be
|
|
128
|
+
// misleading and worse than letting live's value stand).
|
|
58
129
|
const event = {
|
|
59
130
|
id: (0, ids_1.deriveFileChangeEventId)(sessionId, toolUse.id),
|
|
60
131
|
type: "file_change",
|
|
61
|
-
timestamp:
|
|
132
|
+
timestamp: tsMs,
|
|
62
133
|
session_id: sessionId,
|
|
63
134
|
project_name: projectName,
|
|
64
135
|
activity_id: activityId,
|
|
@@ -68,6 +139,9 @@ function buildFileChange(opts) {
|
|
|
68
139
|
lines_added: linesAdded,
|
|
69
140
|
lines_removed: linesRemoved,
|
|
70
141
|
};
|
|
142
|
+
if (changeset !== undefined) {
|
|
143
|
+
event.changeset = changeset;
|
|
144
|
+
}
|
|
71
145
|
return event;
|
|
72
146
|
}
|
|
73
147
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-change.js","sourceRoot":"","sources":["../../../../src/import/claude/events/file-change.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;
|
|
1
|
+
{"version":3,"file":"file-change.js","sourceRoot":"","sources":["../../../../src/import/claude/events/file-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,23 @@ export interface BuildToolCallOpts {
|
|
|
40
40
|
projectName: string;
|
|
41
41
|
/** Parent turn's activity_id (from `deriveActivityId`). */
|
|
42
42
|
activityId: string;
|
|
43
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* ISO timestamp from the assistant line carrying the tool_use
|
|
45
|
+
* (start-of-tool — model dispatched the call). Used as a fallback
|
|
46
|
+
* when the matching tool_result line carries no timestamp (truncated
|
|
47
|
+
* transcript / interrupted tool).
|
|
48
|
+
*/
|
|
44
49
|
timestamp: string;
|
|
50
|
+
/**
|
|
51
|
+
* ISO timestamp from the next user line that carries the matching
|
|
52
|
+
* `tool_result` (end-of-tool — the wall-clock instant Claude wrote
|
|
53
|
+
* the result back to the transcript). Live mode emits at PostToolUse
|
|
54
|
+
* → `Date.now()` at end-of-tool, so we prefer this when present to
|
|
55
|
+
* keep live↔import on the same time-series for `(session_id, id)`
|
|
56
|
+
* latest-wins dedup. `null` when the tool_result line is absent or
|
|
57
|
+
* has no parseable top-level timestamp.
|
|
58
|
+
*/
|
|
59
|
+
resultTimestamp?: string | null;
|
|
45
60
|
toolUse: RawToolUse;
|
|
46
61
|
/** Matched tool_result for this tool_use, or null when unmatched. */
|
|
47
62
|
toolResult: RawToolResult | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call.d.ts","sourceRoot":"","sources":["../../../../src/import/claude/events/tool-call.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACvB,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC1B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB
|
|
1
|
+
{"version":3,"file":"tool-call.d.ts","sourceRoot":"","sources":["../../../../src/import/claude/events/tool-call.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACvB,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC1B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,qEAAqE;IACrE,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CA+HrE"}
|
|
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
exports.buildToolCall = buildToolCall;
|
|
22
22
|
const util_1 = require("../../../clients/claude/util");
|
|
23
23
|
const ids_1 = require("../../ids");
|
|
24
|
-
const DEVTOOLS_MCP_SERVERS = new Set(["browser-devtools", "node-devtools"]);
|
|
24
|
+
const DEVTOOLS_MCP_SERVERS = new Set(["browser-devtools", "node-devtools", "backend-devtools"]);
|
|
25
25
|
function buildToolCall(opts) {
|
|
26
26
|
const { sessionId, projectName, activityId, timestamp, toolUse, toolResult } = opts;
|
|
27
27
|
const classified = (0, util_1.classifyTool)(toolUse.name, toolUse.input);
|
|
@@ -29,24 +29,70 @@ function buildToolCall(opts) {
|
|
|
29
29
|
// when present in the transcript; otherwise fall back to
|
|
30
30
|
// deterministic-from-tool_use_id.
|
|
31
31
|
const eventId = resolveEventId(sessionId, classified, toolUse);
|
|
32
|
-
// tool_input projection
|
|
33
|
-
// browser
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
// returns
|
|
38
|
-
//
|
|
39
|
-
|
|
32
|
+
// tool_input projection. Two paths to match live wire shape exactly:
|
|
33
|
+
// - devtools MCP tools (browser/node/backend-devtools): live ships
|
|
34
|
+
// the raw `tool_input` with `_metadata` stripped (see
|
|
35
|
+
// `clients/claude/hooks/track-action.ts:182-184` —
|
|
36
|
+
// `toolInputForEvent = sanitizedRawInput` for devtools).
|
|
37
|
+
// `extractClaudeToolInput` returns `undefined` for MCP tools (its
|
|
38
|
+
// switch's default case), so import would otherwise ship
|
|
39
|
+
// `tool_input: undefined` — divergent from live. Backend dedup on
|
|
40
|
+
// `(session_id, id)` with latest-wins would erase the live
|
|
41
|
+
// `tool_input` payload on re-import.
|
|
42
|
+
// - all other tools: whitelisted via `extractClaudeToolInput` — same
|
|
43
|
+
// projection the live track-action hook applies for non-devtools.
|
|
44
|
+
const projectedInput = (classified.tool_type === "mcp"
|
|
45
|
+
&& classified.mcp_server !== null
|
|
46
|
+
&& DEVTOOLS_MCP_SERVERS.has(classified.mcp_server))
|
|
47
|
+
? stripMetadata(toolUse.input)
|
|
48
|
+
: (0, util_1.extractClaudeToolInput)(toolUse.name, toolUse.input);
|
|
40
49
|
const inputSize = byteLengthOf(toolUse.input);
|
|
41
|
-
const
|
|
42
|
-
const errorMsg = toolResult !== null && toolResult.is_error
|
|
50
|
+
const rawErrorText = toolResult !== null && toolResult.is_error
|
|
43
51
|
? extractErrorMessage(toolResult.content)
|
|
44
52
|
: undefined;
|
|
45
|
-
|
|
53
|
+
// Mirror live's `is_interrupt`-prefix fold (clients/claude/hooks/track-action.ts:191-193).
|
|
54
|
+
// Live track-action.ts reads `input.is_interrupt` from the host stdin and
|
|
55
|
+
// emits `error: "interrupted: <text>"` for user-cancelled tool_calls.
|
|
56
|
+
// The transcript doesn't carry `is_interrupt` directly, but Claude
|
|
57
|
+
// writes a `[Request interrupted by user...]` sentinel into the
|
|
58
|
+
// tool_result content for the same scenarios. Detect that sentinel and
|
|
59
|
+
// apply the same prefix so live + import ship the same `error` string —
|
|
60
|
+
// backend (session_id, id) latest-wins dedup would otherwise erase the
|
|
61
|
+
// "interrupted: " prefix on every re-import of a session that had
|
|
62
|
+
// user cancellations.
|
|
63
|
+
const isInterrupted = rawErrorText !== undefined
|
|
64
|
+
&& /\[Request interrupted by user(?:[^\]]*)?\]/.test(rawErrorText);
|
|
65
|
+
const errorMsg = rawErrorText !== undefined
|
|
66
|
+
? (isInterrupted ? `interrupted: ${rawErrorText}` : rawErrorText)
|
|
67
|
+
: undefined;
|
|
68
|
+
// Live↔import parity for failed tool_calls: live track-action.ts (line
|
|
69
|
+
// 208-209) treats `tool_response` as omitted on failure and reports
|
|
70
|
+
// `tool_response_size: 0`. Without matching zero here, a re-import
|
|
71
|
+
// overwrites live's `0` with the byte count of the error-content blob via
|
|
72
|
+
// `(session_id, id)` latest-wins dedup, producing divergent wire shape
|
|
73
|
+
// for the same logical failed call. Successful tool_results keep their
|
|
74
|
+
// real content byte count.
|
|
75
|
+
const responseSize = toolResult !== null && !toolResult.is_error
|
|
76
|
+
? byteLengthOf(toolResult.content)
|
|
77
|
+
: 0;
|
|
78
|
+
// Live↔import timestamp parity. Live emits at PostToolUse → `Date.now()`
|
|
79
|
+
// at end-of-tool. The assistant transcript line carrying `tool_use` is
|
|
80
|
+
// written at START-of-tool (model dispatch); only the next user line's
|
|
81
|
+
// `tool_result` carries the end-of-tool wall clock. Mirror of Codex
|
|
82
|
+
// import's resolver: prefer `resultTimestamp`; fall back to the
|
|
83
|
+
// assistant-line timestamp when the result line was truncated /
|
|
84
|
+
// interrupted (no parseable timestamp); ultimate fallback is now.
|
|
85
|
+
const startMs = Date.parse(timestamp);
|
|
86
|
+
const endMs = opts.resultTimestamp !== undefined && opts.resultTimestamp !== null
|
|
87
|
+
? Date.parse(opts.resultTimestamp)
|
|
88
|
+
: NaN;
|
|
89
|
+
const wireTs = Number.isFinite(endMs)
|
|
90
|
+
? endMs
|
|
91
|
+
: (Number.isFinite(startMs) ? startMs : Date.now());
|
|
46
92
|
const event = {
|
|
47
93
|
id: eventId,
|
|
48
94
|
type: "tool_call",
|
|
49
|
-
timestamp:
|
|
95
|
+
timestamp: wireTs,
|
|
50
96
|
session_id: sessionId,
|
|
51
97
|
project_name: projectName,
|
|
52
98
|
activity_id: activityId,
|
|
@@ -66,8 +112,39 @@ function buildToolCall(opts) {
|
|
|
66
112
|
if (errorMsg !== undefined) {
|
|
67
113
|
event.error = errorMsg;
|
|
68
114
|
}
|
|
115
|
+
// Project verification cycle correlation fields from devtools
|
|
116
|
+
// `_metadata` (baked in by `require-verification.ts` at live emit time).
|
|
117
|
+
// Live track-action.ts (clients/claude/hooks/track-action.ts:212-213)
|
|
118
|
+
// emits `verification_id` + `trace_id` as TOP-LEVEL event fields read
|
|
119
|
+
// from per-session state.json. Import has no state.json access for
|
|
120
|
+
// historical sessions but the same correlation root is preserved in
|
|
121
|
+
// the transcript via `_metadata.verificationId` / `_metadata.traceId`
|
|
122
|
+
// / `_metadata.activityId`. Without re-projecting, backend
|
|
123
|
+
// (session_id, id) latest-wins dedup erases live's correlation fields
|
|
124
|
+
// on every re-import — verification-cycle dashboards lose the ability
|
|
125
|
+
// to JOIN tool_call rows by verification_id.
|
|
126
|
+
if (classified.tool_type === "mcp"
|
|
127
|
+
&& classified.mcp_server !== null
|
|
128
|
+
&& DEVTOOLS_MCP_SERVERS.has(classified.mcp_server)) {
|
|
129
|
+
const meta = toolUse.input._metadata;
|
|
130
|
+
if (meta !== null && typeof meta === "object") {
|
|
131
|
+
const m = meta;
|
|
132
|
+
const vid = m.verificationId;
|
|
133
|
+
if (typeof vid === "string" && UUID_SHAPE.test(vid)) {
|
|
134
|
+
event.verification_id = vid;
|
|
135
|
+
}
|
|
136
|
+
// OTEL trace_id is 32-char lowercase hex (W3C trace context),
|
|
137
|
+
// NOT UUID-shaped — accept any non-empty string.
|
|
138
|
+
const tid = m.traceId;
|
|
139
|
+
if (typeof tid === "string" && tid.length > 0) {
|
|
140
|
+
event.trace_id = tid;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
69
144
|
return event;
|
|
70
145
|
}
|
|
146
|
+
/** Backend stores event ids as UUID columns; reject corrupt / forged metadata that wouldn't validate. */
|
|
147
|
+
const UUID_SHAPE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
71
148
|
function resolveEventId(sessionId, classified, toolUse) {
|
|
72
149
|
if (classified.tool_type === "mcp"
|
|
73
150
|
&& classified.mcp_server !== null
|
|
@@ -75,19 +152,49 @@ function resolveEventId(sessionId, classified, toolUse) {
|
|
|
75
152
|
const meta = toolUse.input._metadata;
|
|
76
153
|
if (meta !== null && typeof meta === "object") {
|
|
77
154
|
const toolCallId = meta.toolCallId;
|
|
78
|
-
|
|
155
|
+
// Only accept UUID-shaped overrides — live `require-verification`
|
|
156
|
+
// generates them with `crypto.randomUUID()`, so any non-UUID
|
|
157
|
+
// value in a replayed transcript is corrupt / forged metadata
|
|
158
|
+
// (would otherwise violate the backend's `(session_id, id)`
|
|
159
|
+
// UUID column constraint). Mirror of Codex import's resolver.
|
|
160
|
+
if (typeof toolCallId === "string" && UUID_SHAPE.test(toolCallId)) {
|
|
79
161
|
return toolCallId;
|
|
80
162
|
}
|
|
81
163
|
}
|
|
82
164
|
}
|
|
83
165
|
return (0, ids_1.deriveToolCallEventIdFromToolUseId)(sessionId, toolUse.id);
|
|
84
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Strip `_metadata` from a devtools tool_input — mirrors live's
|
|
169
|
+
* `sanitizedRawInput` (clients/claude/hooks/track-action.ts:157-159). Returns
|
|
170
|
+
* a shallow copy with `_metadata` removed; returns the input verbatim when
|
|
171
|
+
* it has no `_metadata` key.
|
|
172
|
+
*/
|
|
173
|
+
function stripMetadata(input) {
|
|
174
|
+
if (!("_metadata" in input)) {
|
|
175
|
+
return input;
|
|
176
|
+
}
|
|
177
|
+
const { _metadata, ...rest } = input;
|
|
178
|
+
void _metadata;
|
|
179
|
+
return rest;
|
|
180
|
+
}
|
|
85
181
|
function byteLengthOf(value) {
|
|
86
182
|
if (value === undefined || value === null) {
|
|
87
183
|
return 0;
|
|
88
184
|
}
|
|
89
185
|
try {
|
|
90
|
-
|
|
186
|
+
// String fast-path: raw UTF-8 bytes of the value itself, NOT the
|
|
187
|
+
// JSON-encoded form. Without this branch, Bash stdout "foo" ships
|
|
188
|
+
// as 5 bytes ('"foo"' with quotes) on import but 3 bytes on live
|
|
189
|
+
// → backend (session_id, id) latest-wins dedup overwrites live's
|
|
190
|
+
// correct `tool_response_size` with the inflated import value.
|
|
191
|
+
// Matches live `byteSize` (clients/claude/hooks/track-action.ts:326)
|
|
192
|
+
// and Codex hook `safeStringifyBytes` (clients/codex/hooks/track-
|
|
193
|
+
// action.ts:60-66) which already took this fast-path. Array/object
|
|
194
|
+
// tool_response shapes (e.g. structured tool_result content) still
|
|
195
|
+
// use JSON.stringify, matching live.
|
|
196
|
+
const s = typeof value === "string" ? value : JSON.stringify(value);
|
|
197
|
+
return s === undefined ? 0 : Buffer.byteLength(s, "utf-8");
|
|
91
198
|
}
|
|
92
199
|
catch {
|
|
93
200
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call.js","sourceRoot":"","sources":["../../../../src/import/claude/events/tool-call.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;
|
|
1
|
+
{"version":3,"file":"tool-call.js","sourceRoot":"","sources":["../../../../src/import/claude/events/tool-call.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAkEH,sCA+HC;AA9LD,uDAAoG;AACpG,mCAA+D;AAE/D,MAAM,oBAAoB,GAAgB,IAAI,GAAG,CAAS,CAAC,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AA4DrH,SAAgB,aAAa,CAAC,IAAuB;IACjD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACpF,MAAM,UAAU,GAAmB,IAAA,mBAAY,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAE7E,uEAAuE;IACvE,yDAAyD;IACzD,kCAAkC;IAClC,MAAM,OAAO,GAAW,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAEvE,qEAAqE;IACrE,qEAAqE;IACrE,0DAA0D;IAC1D,uDAAuD;IACvD,6DAA6D;IAC7D,sEAAsE;IACtE,6DAA6D;IAC7D,sEAAsE;IACtE,+DAA+D;IAC/D,yCAAyC;IACzC,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,cAAc,GAAY,CAC5B,UAAU,CAAC,SAAS,KAAK,KAAK;WAC3B,UAAU,CAAC,UAAU,KAAK,IAAI;WAC9B,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CACrD;QACG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,IAAA,6BAAsB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAW,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAuB,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ;QAC/E,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;IAChB,2FAA2F;IAC3F,0EAA0E;IAC1E,sEAAsE;IACtE,mEAAmE;IACnE,gEAAgE;IAChE,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,kEAAkE;IAClE,sBAAsB;IACtB,MAAM,aAAa,GAAY,YAAY,KAAK,SAAS;WAClD,4CAA4C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAuB,YAAY,KAAK,SAAS;QAC3D,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QACjE,CAAC,CAAC,SAAS,CAAC;IAChB,uEAAuE;IACvE,oEAAoE;IACpE,mEAAmE;IACnE,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,2BAA2B;IAC3B,MAAM,YAAY,GAAW,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;QACpE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC,CAAC;IAER,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAW,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;QACrF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC;IACV,MAAM,MAAM,GAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAmB;QAC1B,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,WAAW,EAAE,OAAO,CAAC,EAAE;QACvB,UAAU,EAAE,cAAc;QAC1B,eAAe,EAAE,SAAS;QAC1B,kBAAkB,EAAE,YAAY;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;KACpC,CAAC;IACF,IAAI,UAAU,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAChC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IAC3C,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD,8DAA8D;IAC9D,yEAAyE;IACzE,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,oEAAoE;IACpE,sEAAsE;IACtE,2DAA2D;IAC3D,sEAAsE;IACtE,sEAAsE;IACtE,6CAA6C;IAC7C,IACI,UAAU,CAAC,SAAS,KAAK,KAAK;WAC3B,UAAU,CAAC,UAAU,KAAK,IAAI;WAC9B,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,CAAC;QACC,MAAM,IAAI,GAAY,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,GAA4B,IAA+B,CAAC;YACnE,MAAM,GAAG,GAAY,CAAC,CAAC,cAAc,CAAC;YACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;YAChC,CAAC;YACD,8DAA8D;YAC9D,iDAAiD;YACjD,MAAM,GAAG,GAAY,CAAC,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,GAAW,iEAAiE,CAAC;AAE7F,SAAS,cAAc,CAAC,SAAiB,EAAE,UAA0B,EAAE,OAAmB;IACtF,IACI,UAAU,CAAC,SAAS,KAAK,KAAK;WAC3B,UAAU,CAAC,UAAU,KAAK,IAAI;WAC9B,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,CAAC;QACC,MAAM,IAAI,GAAY,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAa,IAAiC,CAAC,UAAU,CAAC;YAC1E,kEAAkE;YAClE,6DAA6D;YAC7D,8DAA8D;YAC9D,4DAA4D;YAC5D,8DAA8D;YAC9D,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,OAAO,UAAU,CAAC;YACtB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAA,wCAAkC,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAA8B;IACjD,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAA4B,KAAK,CAAC;IAC9D,KAAK,SAAS,CAAC;IACf,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC;IACb,CAAC;IACD,IAAI,CAAC;QACD,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,iEAAiE;QACjE,+DAA+D;QAC/D,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,qCAAqC;QACrC,MAAM,CAAC,GAAW,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,CAAC;IACb,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAoB,EAAE,CAAC;YACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAa,KAA4B,CAAC,IAAI,CAAC;gBACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/import/claude/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,OAAO,EACH,YAAY,EAGZ,YAAY,EACZ,YAAY,EACf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/import/claude/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,OAAO,EACH,YAAY,EAGZ,YAAY,EACZ,YAAY,EACf,MAAM,UAAU,CAAC;AAwBlB,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4QvF;AAsBD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgBlG"}
|
|
@@ -28,7 +28,7 @@ const fs_1 = require("fs");
|
|
|
28
28
|
const collector_1 = require("../../lib/collector");
|
|
29
29
|
const config_1 = require("../../lib/config");
|
|
30
30
|
const logger_1 = require("../../lib/logger");
|
|
31
|
-
const transcript_1 = require("../../analytics/transcript");
|
|
31
|
+
const transcript_1 = require("../../analytics/claude/transcript");
|
|
32
32
|
const types_1 = require("../types");
|
|
33
33
|
const skip_1 = require("../skip");
|
|
34
34
|
const marker_1 = require("../marker");
|
|
@@ -88,7 +88,11 @@ async function importClaudeSession(opts) {
|
|
|
88
88
|
// and made session_end appear chronologically before its own
|
|
89
89
|
// activity_end on the wire.
|
|
90
90
|
const lastTimestampMs = findLastLineTimestamp(transcriptLines, target.sessionStartMs);
|
|
91
|
-
|
|
91
|
+
// OMIT `reason` when no `summary` tail line — backend dedup on
|
|
92
|
+
// (session_id, id) is latest-wins, and a placeholder string would
|
|
93
|
+
// overwrite the live hook's real reason. `undefined` is dropped
|
|
94
|
+
// by JSON.stringify so the field never reaches the wire.
|
|
95
|
+
const endReason = (0, transcript_walk_1.readSummaryEndReason)(transcriptLines) ?? undefined;
|
|
92
96
|
events.push((0, session_1.buildSessionEnd)(target, lastTimestampMs, endReason));
|
|
93
97
|
counts.session_end = 1;
|
|
94
98
|
// Use analytics-runner's turn events as authoritative when available.
|
|
@@ -156,18 +160,46 @@ async function importClaudeSession(opts) {
|
|
|
156
160
|
const bracketMs = toolUses.length === 1
|
|
157
161
|
? computeBracketMs(lineTimestamp, nextUser)
|
|
158
162
|
: null;
|
|
163
|
+
// End-of-tool timestamp from the next user line that carries the
|
|
164
|
+
// tool_result. Live PostToolUse fires at end-of-tool (`Date.now()`),
|
|
165
|
+
// so import must use the same wall clock — otherwise live↔import
|
|
166
|
+
// ship distinct `timestamp` values for the same logical tool_call
|
|
167
|
+
// and re-imports overwrite live's end-time with start-of-tool via
|
|
168
|
+
// (session_id, id) latest-wins dedup. Only meaningful when result
|
|
169
|
+
// is present; pass null when the tool was interrupted (the
|
|
170
|
+
// builder falls back to the assistant line's start-of-tool time).
|
|
171
|
+
const resultTimestampRaw = nextUser !== undefined
|
|
172
|
+
? nextUser.timestamp
|
|
173
|
+
: undefined;
|
|
174
|
+
const resultTimestamp = typeof resultTimestampRaw === "string"
|
|
175
|
+
? resultTimestampRaw
|
|
176
|
+
: null;
|
|
159
177
|
for (const tu of toolUses) {
|
|
160
178
|
const result = resultsByToolUseId.get(tu.id) ?? null;
|
|
179
|
+
// Skip tool_uses that never reached a tool_result — live
|
|
180
|
+
// mode fires only on PostToolUse/PostToolUseFailure, so a
|
|
181
|
+
// tool interrupted before completion (Esc cancel, session
|
|
182
|
+
// end mid-call, transcript truncation) produces NO live
|
|
183
|
+
// wire event. Without this skip, import would inject a
|
|
184
|
+
// phantom `tool_call` event with no live counterpart and
|
|
185
|
+
// a unique-to-import deterministic id (same formula but
|
|
186
|
+
// different state) — backend dedup couldn't collapse it,
|
|
187
|
+
// inflating tool_call counts on every re-import of any
|
|
188
|
+
// session with interrupted tools.
|
|
189
|
+
if (result === null) {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
161
192
|
// Only assign a duration when the tool_result is actually
|
|
162
193
|
// present in the next user message — without that, the
|
|
163
194
|
// tool didn't complete (interrupted / session ended) and
|
|
164
195
|
// any timestamp delta would be a fiction.
|
|
165
|
-
const durationMs =
|
|
196
|
+
const durationMs = bracketMs !== null ? bracketMs : null;
|
|
166
197
|
events.push((0, tool_call_1.buildToolCall)({
|
|
167
198
|
sessionId,
|
|
168
199
|
projectName,
|
|
169
200
|
activityId,
|
|
170
201
|
timestamp: lineTimestamp,
|
|
202
|
+
resultTimestamp,
|
|
171
203
|
toolUse: tu,
|
|
172
204
|
toolResult: result,
|
|
173
205
|
durationMs,
|
|
@@ -178,6 +210,7 @@ async function importClaudeSession(opts) {
|
|
|
178
210
|
projectName,
|
|
179
211
|
activityId,
|
|
180
212
|
timestamp: lineTimestamp,
|
|
213
|
+
resultTimestamp,
|
|
181
214
|
toolUse: tu,
|
|
182
215
|
toolResult: result,
|
|
183
216
|
config,
|
|
@@ -293,6 +326,15 @@ function applyUserEmailToEvents(events, userEmail) {
|
|
|
293
326
|
}
|
|
294
327
|
for (const ev of events) {
|
|
295
328
|
ev.user_email = userEmail;
|
|
329
|
+
// Live emit (analytics/claude/emit.ts:622) also writes user_email
|
|
330
|
+
// into the SessionAnalytics body. Mirror so backend consumers
|
|
331
|
+
// querying the nested analytics.user_email JSON blob see the same
|
|
332
|
+
// value as live-tracked sessions — backend latest-wins dedup on
|
|
333
|
+
// (session_id, id) would otherwise overwrite live's body field
|
|
334
|
+
// with undefined on re-import.
|
|
335
|
+
if (ev.type === "session_analytics") {
|
|
336
|
+
ev.analytics.user_email = userEmail;
|
|
337
|
+
}
|
|
296
338
|
}
|
|
297
339
|
}
|
|
298
340
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/import/claude/runner.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/import/claude/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ const buffer_1 = require("buffer");
|
|
|
20
20
|
const logger_1 = require("../../lib/logger");
|
|
21
21
|
const collector_1 = require("../../lib/collector");
|
|
22
22
|
const config_1 = require("../../lib/config");
|
|
23
|
-
const transcript_1 = require("../../analytics/transcript");
|
|
23
|
+
const transcript_1 = require("../../analytics/claude/transcript");
|
|
24
24
|
const analytics_runner_1 = require("./analytics-runner");
|
|
25
25
|
const skip_1 = require("../skip");
|
|
26
26
|
const types_1 = require("../types");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/import/claude/summary.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA+BH,oDAgEC;AA7FD,2BAAkC;AAClC,mCAAgC;AAChC,6CAA0C;AAC1C,mDAA0E;AAC1E,6CAAuG;AACvG,
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/import/claude/summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* in the next user `message.content[]` as `tool_result` blocks (joined by
|
|
12
12
|
* `tool_use_id`).
|
|
13
13
|
*/
|
|
14
|
-
import { TranscriptLine } from "../../analytics/transcript";
|
|
14
|
+
import { TranscriptLine } from "../../analytics/claude/transcript";
|
|
15
15
|
import { RawToolUse, RawToolResult } from "./events/tool-call";
|
|
16
16
|
/**
|
|
17
17
|
* `true` iff the user line carries human-typed text (not a tool_result-only
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-walk.d.ts","sourceRoot":"","sources":["../../../src/import/claude/transcript-walk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transcript-walk.d.ts","sourceRoot":"","sources":["../../../src/import/claude/transcript-walk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CA6BjE;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,cAAc,GAAG,UAAU,EAAE,CAmBnF;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAmBlG;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAOtG;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,GAAG,IAAI,CAY3E;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,GAAG,aAAa,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CA6C5F;AAED,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,CAsBxE"}
|