@ironbee-ai/cli 0.14.1 → 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 +12 -0
- package/README.md +2 -95
- 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 +18 -14
- 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/session-start.js +1 -1
- package/dist/clients/cursor/hooks/session-start.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 +22 -13
- 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/commands/status.js +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +1 -2
- package/dist/commands/verify.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 -14
- 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/fs-prune.d.ts +1 -1
- package/dist/lib/fs-prune.js +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/dist/tui/sessions/area.d.ts.map +1 -1
- package/dist/tui/sessions/area.js +2 -45
- package/dist/tui/sessions/area.js.map +1 -1
- package/package.json +2 -1
- package/dist/analysis/code-changes.d.ts +0 -22
- package/dist/analysis/code-changes.d.ts.map +0 -1
- package/dist/analysis/code-changes.js +0 -141
- package/dist/analysis/code-changes.js.map +0 -1
- package/dist/analysis/cross-session.d.ts +0 -34
- package/dist/analysis/cross-session.d.ts.map +0 -1
- package/dist/analysis/cross-session.js +0 -230
- package/dist/analysis/cross-session.js.map +0 -1
- package/dist/analysis/fix-effectiveness.d.ts +0 -16
- package/dist/analysis/fix-effectiveness.d.ts.map +0 -1
- package/dist/analysis/fix-effectiveness.js +0 -99
- package/dist/analysis/fix-effectiveness.js.map +0 -1
- package/dist/analysis/scoring.d.ts +0 -15
- package/dist/analysis/scoring.d.ts.map +0 -1
- package/dist/analysis/scoring.js +0 -59
- package/dist/analysis/scoring.js.map +0 -1
- package/dist/analysis/time-analysis.d.ts +0 -22
- package/dist/analysis/time-analysis.d.ts.map +0 -1
- package/dist/analysis/time-analysis.js +0 -174
- package/dist/analysis/time-analysis.js.map +0 -1
- package/dist/analysis/verdict-details.d.ts +0 -23
- package/dist/analysis/verdict-details.d.ts.map +0 -1
- package/dist/analysis/verdict-details.js +0 -59
- package/dist/analysis/verdict-details.js.map +0 -1
- package/dist/analysis/verification-quality.d.ts +0 -20
- package/dist/analysis/verification-quality.d.ts.map +0 -1
- package/dist/analysis/verification-quality.js +0 -145
- package/dist/analysis/verification-quality.js.map +0 -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/clients/claude/commands/ironbee-analyze.md +0 -42
- package/dist/clients/cursor/commands/ironbee-analyze/SKILL.md +0 -48
- package/dist/commands/analyze.d.ts +0 -3
- package/dist/commands/analyze.d.ts.map +0 -1
- package/dist/commands/analyze.js +0 -329
- package/dist/commands/analyze.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
|
@@ -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"}
|
|
@@ -30,8 +30,18 @@ function isHumanTextUserLine(line) {
|
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
const content = line.message.content;
|
|
33
|
+
// Match `src/analytics/claude/projection.ts:isHumanTextUser` exactly
|
|
34
|
+
// so import-derived turn boundaries (used by `deriveTurnBoundariesFromTranscript`
|
|
35
|
+
// for activity_start/end emission) match live-derived ones for the
|
|
36
|
+
// same transcript bytes. Two prior divergences:
|
|
37
|
+
// (a) string content: live trims whitespace before length check;
|
|
38
|
+
// import did not, so a whitespace-only message would be treated
|
|
39
|
+
// as a real human turn opener by import but not by live.
|
|
40
|
+
// (b) mixed `[tool_result, text]` blocks: live keeps scanning for
|
|
41
|
+
// a text block (returns true if found); import short-circuited
|
|
42
|
+
// false on the first tool_result, missing the trailing text.
|
|
33
43
|
if (typeof content === "string") {
|
|
34
|
-
return content.length > 0;
|
|
44
|
+
return content.trim().length > 0;
|
|
35
45
|
}
|
|
36
46
|
if (Array.isArray(content)) {
|
|
37
47
|
for (const block of content) {
|
|
@@ -40,9 +50,6 @@ function isHumanTextUserLine(line) {
|
|
|
40
50
|
if (t === "text" && typeof block.text === "string") {
|
|
41
51
|
return true;
|
|
42
52
|
}
|
|
43
|
-
if (t === "tool_result") {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-walk.js","sourceRoot":"","sources":["../../../src/import/claude/transcript-walk.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAUH,
|
|
1
|
+
{"version":3,"file":"transcript-walk.js","sourceRoot":"","sources":["../../../src/import/claude/transcript-walk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IronBee CLI — Codex Import Analytics Runner
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates the Codex analytics derivation for a full rollout JSONL.
|
|
5
|
+
* Mirror of `src/analytics/codex/emit.ts`'s projection step BUT:
|
|
6
|
+
*
|
|
7
|
+
* - never reads / writes the per-session `analytics-codex/state.json`
|
|
8
|
+
* - always treats the slice as final (`is_final: true`)
|
|
9
|
+
* - full from-zero parse — no cursor tracking
|
|
10
|
+
*
|
|
11
|
+
* Returns the `SessionAnalyticsEvent` the import pipeline should POST.
|
|
12
|
+
* The pipeline is responsible for POST + marker. We deliberately do NOT
|
|
13
|
+
* emit `session_turn_analytics` here — it's out of scope on Codex;
|
|
14
|
+
* the master record carries the same signals at session granularity.
|
|
15
|
+
*
|
|
16
|
+
* Independent of Claude's `import/claude/analytics-runner.ts` — Codex
|
|
17
|
+
* projection consumes the RolloutItem enum, not Claude's transcript
|
|
18
|
+
* message lines. Imports share the same `projectCodexDelta` core as the
|
|
19
|
+
* live `codex/emit.ts`, so live + import produce SEMANTICALLY
|
|
20
|
+
* identical `session_analytics` records for the same session content —
|
|
21
|
+
* modulo `is_final` (import=true / live=false), `end_reason`
|
|
22
|
+
* ("import" / undefined), `snapshot_at` (per-emit ISO timestamp), and
|
|
23
|
+
* envelope `timestamp` (Date.now() at emit). Aside from those four
|
|
24
|
+
* deliberately-divergent fields, the projection output is byte-identical.
|
|
25
|
+
*/
|
|
26
|
+
import { SessionAnalyticsEvent } from "../../analytics/shared/types";
|
|
27
|
+
export interface CodexAnalyticsRunnerInput {
|
|
28
|
+
sessionId: string;
|
|
29
|
+
projectName: string;
|
|
30
|
+
transcriptPath: string;
|
|
31
|
+
/** Surfaced on `session_analytics.end_reason`. Defaults to `"import"`. */
|
|
32
|
+
endReason?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CodexAnalyticsRunnerOutput {
|
|
35
|
+
/** Null when the rollout couldn't be parsed (caller falls back to skipping). */
|
|
36
|
+
sessionAnalytics: SessionAnalyticsEvent | null;
|
|
37
|
+
/** Number of bytes processed — written into the import marker for resume diagnostics. */
|
|
38
|
+
transcriptOffset: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Run the full rollout through the Codex session-projection and return
|
|
42
|
+
* the master `session_analytics` event. Throws on read errors; on parse
|
|
43
|
+
* errors the projection itself is defensive and skips malformed lines.
|
|
44
|
+
*/
|
|
45
|
+
export declare function runCodexImportAnalytics(input: CodexAnalyticsRunnerInput): CodexAnalyticsRunnerOutput;
|
|
46
|
+
//# sourceMappingURL=analytics-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-runner.d.ts","sourceRoot":"","sources":["../../../src/import/codex/analytics-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAoB,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAQvF,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CAMtB;AAED,MAAM,WAAW,0BAA0B;IACvC,gFAAgF;IAChF,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,yFAAyF;IACzF,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,GAAG,0BAA0B,CAwEpG"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IronBee CLI — Codex Import Analytics Runner
|
|
4
|
+
*
|
|
5
|
+
* Orchestrates the Codex analytics derivation for a full rollout JSONL.
|
|
6
|
+
* Mirror of `src/analytics/codex/emit.ts`'s projection step BUT:
|
|
7
|
+
*
|
|
8
|
+
* - never reads / writes the per-session `analytics-codex/state.json`
|
|
9
|
+
* - always treats the slice as final (`is_final: true`)
|
|
10
|
+
* - full from-zero parse — no cursor tracking
|
|
11
|
+
*
|
|
12
|
+
* Returns the `SessionAnalyticsEvent` the import pipeline should POST.
|
|
13
|
+
* The pipeline is responsible for POST + marker. We deliberately do NOT
|
|
14
|
+
* emit `session_turn_analytics` here — it's out of scope on Codex;
|
|
15
|
+
* the master record carries the same signals at session granularity.
|
|
16
|
+
*
|
|
17
|
+
* Independent of Claude's `import/claude/analytics-runner.ts` — Codex
|
|
18
|
+
* projection consumes the RolloutItem enum, not Claude's transcript
|
|
19
|
+
* message lines. Imports share the same `projectCodexDelta` core as the
|
|
20
|
+
* live `codex/emit.ts`, so live + import produce SEMANTICALLY
|
|
21
|
+
* identical `session_analytics` records for the same session content —
|
|
22
|
+
* modulo `is_final` (import=true / live=false), `end_reason`
|
|
23
|
+
* ("import" / undefined), `snapshot_at` (per-emit ISO timestamp), and
|
|
24
|
+
* envelope `timestamp` (Date.now() at emit). Aside from those four
|
|
25
|
+
* deliberately-divergent fields, the projection output is byte-identical.
|
|
26
|
+
*/
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.runCodexImportAnalytics = runCodexImportAnalytics;
|
|
29
|
+
const fs_1 = require("fs");
|
|
30
|
+
const logger_1 = require("../../lib/logger");
|
|
31
|
+
const projection_1 = require("../../analytics/codex/projection");
|
|
32
|
+
/**
|
|
33
|
+
* Run the full rollout through the Codex session-projection and return
|
|
34
|
+
* the master `session_analytics` event. Throws on read errors; on parse
|
|
35
|
+
* errors the projection itself is defensive and skips malformed lines.
|
|
36
|
+
*/
|
|
37
|
+
function runCodexImportAnalytics(input) {
|
|
38
|
+
const raw = (0, fs_1.readFileSync)(input.transcriptPath);
|
|
39
|
+
const offset = raw.length;
|
|
40
|
+
const text = raw.toString("utf-8");
|
|
41
|
+
const lines = [];
|
|
42
|
+
for (const line of text.split("\n")) {
|
|
43
|
+
if (line.length === 0) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
lines.push(JSON.parse(line));
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// malformed line — skip (matches live behavior)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (lines.length === 0) {
|
|
54
|
+
logger_1.logger.debug(`codex import analytics: ${input.transcriptPath} parsed to zero rollout lines`);
|
|
55
|
+
return { sessionAnalytics: null, transcriptOffset: offset };
|
|
56
|
+
}
|
|
57
|
+
let projection;
|
|
58
|
+
try {
|
|
59
|
+
projection = (0, projection_1.projectCodexDelta)({
|
|
60
|
+
sessionId: input.sessionId,
|
|
61
|
+
projectName: input.projectName,
|
|
62
|
+
lines,
|
|
63
|
+
endReason: input.endReason ?? "import",
|
|
64
|
+
// Imports replay COMPLETE historical sessions — the rollout ends
|
|
65
|
+
// because the user already closed the session. `is_final: true`
|
|
66
|
+
// is correct here (mirrors Claude-import semantic). The LIVE
|
|
67
|
+
// path in `commands/codex/process-analytics.ts` passes false
|
|
68
|
+
// because each Stop is a checkpoint, not a terminal.
|
|
69
|
+
isFinal: true,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
logger_1.logger.debug(`codex import analytics: projection failed for ${input.sessionId}: ${e instanceof Error ? e.message : e}`);
|
|
74
|
+
return { sessionAnalytics: null, transcriptOffset: offset };
|
|
75
|
+
}
|
|
76
|
+
// Wire shape: `analytics` MUST be NESTED (mirrors Claude side; the
|
|
77
|
+
// collector's session_analytics envelope requires this single nested
|
|
78
|
+
// body field). Earlier flat version POSTed all SessionAnalytics
|
|
79
|
+
// fields at the top level and the collector dropped them as unknown
|
|
80
|
+
// properties → `analytics` missing → validation reject → 400.
|
|
81
|
+
//
|
|
82
|
+
// user_email / usage_type / usage_plan are intentionally NOT stamped
|
|
83
|
+
// here — `applyUsageToEvents` in runner.ts sets them on every event
|
|
84
|
+
// (this one included) after we return.
|
|
85
|
+
const analyticsBody = { ...projection.delta };
|
|
86
|
+
// Wire timestamp anchors to the session's last in-transcript activity,
|
|
87
|
+
// not the import-run wall clock — mirror of Claude import's
|
|
88
|
+
// analytics-runner.ts (parseIsoOrNow(merged.last_activity_time)).
|
|
89
|
+
// Without this, importing a months-old Codex rollout stamps every
|
|
90
|
+
// session_analytics event with "today", which breaks any backend
|
|
91
|
+
// query that windows on Event.timestamp (timeline plots, time-bucketed
|
|
92
|
+
// dashboards, cohort analyses cluster all imported Codex sessions on
|
|
93
|
+
// the import moment instead of when they actually happened). The live
|
|
94
|
+
// Codex emit path (analytics/codex/emit.ts) correctly uses Date.now()
|
|
95
|
+
// because the live emit IS the current moment — only the import path
|
|
96
|
+
// is wrong. Falls back to Date.now() only when last_activity_time is
|
|
97
|
+
// missing / unparseable.
|
|
98
|
+
const sessionTsMs = parseIsoOrNow(analyticsBody.last_activity_time);
|
|
99
|
+
const event = {
|
|
100
|
+
id: (0, projection_1.deriveCodexSessionAnalyticsEventId)(input.sessionId),
|
|
101
|
+
type: "session_analytics",
|
|
102
|
+
timestamp: sessionTsMs,
|
|
103
|
+
session_id: input.sessionId,
|
|
104
|
+
project_name: input.projectName,
|
|
105
|
+
analytics: analyticsBody,
|
|
106
|
+
};
|
|
107
|
+
return { sessionAnalytics: event, transcriptOffset: offset };
|
|
108
|
+
}
|
|
109
|
+
function parseIsoOrNow(iso) {
|
|
110
|
+
if (typeof iso !== "string" || iso.length === 0) {
|
|
111
|
+
return Date.now();
|
|
112
|
+
}
|
|
113
|
+
const ms = Date.parse(iso);
|
|
114
|
+
return Number.isFinite(ms) ? ms : Date.now();
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=analytics-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-runner.js","sourceRoot":"","sources":["../../../src/import/codex/analytics-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IronBee CLI — Codex Import Discovery
|
|
3
|
+
*
|
|
4
|
+
* Resolves an `ImportScope` to a list of `ImportTarget`s by walking
|
|
5
|
+
* `~/.codex/sessions/YYYY/MM/DD/rollout-<ISO>-<UUID>.jsonl`.
|
|
6
|
+
*
|
|
7
|
+
* Unlike Claude (encoded project folder under ~/.claude/projects/), Codex
|
|
8
|
+
* stores rollouts flat by date. Project association is recovered by
|
|
9
|
+
* reading the first line's `session_meta.payload.cwd`. So:
|
|
10
|
+
* - `current-project` → scan every rollout, keep those whose first-line
|
|
11
|
+
* cwd matches the current cwd
|
|
12
|
+
* - `projects <paths>` → scan every rollout, keep those whose first-line
|
|
13
|
+
* cwd matches any of the supplied paths
|
|
14
|
+
* - `all-projects` → scan every rollout, project comes from each rollout's
|
|
15
|
+
* own first-line cwd (one project per rollout)
|
|
16
|
+
* - `transcript <path>` → single file, project from its session_meta line
|
|
17
|
+
*
|
|
18
|
+
* Discovery does NOT apply the time-range filter — `filter.ts` does that
|
|
19
|
+
* after a session is found.
|
|
20
|
+
*/
|
|
21
|
+
import { ImportScope, ImportTarget } from "../types";
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the scope flag to a list of candidate transcripts. Each returned
|
|
24
|
+
* `ImportTarget` is fully populated EXCEPT that no time-range filter has
|
|
25
|
+
* been applied yet — callers run `filter.ts` over this list.
|
|
26
|
+
*
|
|
27
|
+
* Codex's flat-by-date layout means every scope (except `transcript`) does
|
|
28
|
+
* a full walk + per-file first-line read. That's O(rollouts) per import
|
|
29
|
+
* invocation — acceptable: rollouts are < 10K per machine for a typical
|
|
30
|
+
* dev box, and the first-line read peeks at ≤ 4 KB.
|
|
31
|
+
*/
|
|
32
|
+
export declare function findCodexTranscripts(scope: ImportScope): ImportTarget[];
|
|
33
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/import/codex/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,EAAE,CA6BvE"}
|