@prism-d1/cli 1.0.12 → 1.0.13

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.
@@ -81,56 +81,25 @@ if [[ -n "${MSG_SPEC}" ]]; then
81
81
  fi
82
82
 
83
83
  # ---------------------------------------------------------------------------
84
- # Track AI token usage via codeburn
84
+ # Track AI token usage via codeburn (per-project, since last commit)
85
85
  # ---------------------------------------------------------------------------
86
86
  AI_INPUT_TOKENS=""
87
87
  AI_OUTPUT_TOKENS=""
88
88
  AI_COST=""
89
89
 
90
90
  if [[ -n "${AI_TOOL}" ]] && command -v codeburn &>/dev/null; then
91
- TRACKER_DIR="${HOME}/.prism/tokentracker"
92
- CURRENT_USER=$(git config user.email 2>/dev/null || whoami)
93
- SAFE_USER=$(echo "${CURRENT_USER}" | sed 's/[@.]/_/g')
94
- TRACKER_FILE="${TRACKER_DIR}/${SAFE_USER}.json"
91
+ PROJECT_FILTER=$(echo "$REPO_ROOT" | sed 's|^/||; s|/|-|g')
92
+ LAST_COMMIT_DATE=$(git log -1 --format=%aI 2>/dev/null | cut -dT -f1 || echo "")
95
93
 
96
- # Get lifetime token totals from codeburn (all-time, monotonically increasing)
97
- CODEBURN_JSON=$(codeburn report -p all --format json 2>/dev/null || echo "")
94
+ CODEBURN_ARGS="-p all --project ${PROJECT_FILTER} --format json"
95
+ [[ -n "$LAST_COMMIT_DATE" ]] && CODEBURN_ARGS="${CODEBURN_ARGS} --from ${LAST_COMMIT_DATE}"
96
+
97
+ CODEBURN_JSON=$(codeburn report ${CODEBURN_ARGS} 2>/dev/null || echo "")
98
98
 
99
99
  if [[ -n "${CODEBURN_JSON}" ]]; then
100
- CURRENT_INPUT=$(echo "${CODEBURN_JSON}" | jq -r '[.models[]?.inputTokens // 0] | add // 0' 2>/dev/null || echo "0")
101
- CURRENT_OUTPUT=$(echo "${CODEBURN_JSON}" | jq -r '[.models[]?.outputTokens // 0] | add // 0' 2>/dev/null || echo "0")
102
- CURRENT_COST=$(echo "${CODEBURN_JSON}" | jq -r '.overview.cost // 0' 2>/dev/null || echo "0")
103
-
104
- if [[ -f "${TRACKER_FILE}" ]]; then
105
- PREV_INPUT=$(jq -r '.inputTokens // 0' "${TRACKER_FILE}" 2>/dev/null || echo "0")
106
- PREV_OUTPUT=$(jq -r '.outputTokens // 0' "${TRACKER_FILE}" 2>/dev/null || echo "0")
107
- PREV_COST=$(jq -r '.costUSD // 0' "${TRACKER_FILE}" 2>/dev/null || echo "0")
108
-
109
- AI_INPUT_TOKENS=$(( CURRENT_INPUT - PREV_INPUT ))
110
- AI_OUTPUT_TOKENS=$(( CURRENT_OUTPUT - PREV_OUTPUT ))
111
- AI_COST=$(echo "${CURRENT_COST} - ${PREV_COST}" | bc 2>/dev/null || echo "0")
112
-
113
- # Guard against negative values (e.g., deleted session files)
114
- if [[ "${AI_INPUT_TOKENS}" -lt 0 ]]; then AI_INPUT_TOKENS=0; fi
115
- if [[ "${AI_OUTPUT_TOKENS}" -lt 0 ]]; then AI_OUTPUT_TOKENS=0; fi
116
- if (( $(echo "${AI_COST} < 0" | bc 2>/dev/null || echo "0") )); then AI_COST="0"; fi
117
- else
118
- mkdir -p "${TRACKER_DIR}"
119
- AI_INPUT_TOKENS=0
120
- AI_OUTPUT_TOKENS=0
121
- AI_COST="0"
122
- fi
123
-
124
- mkdir -p "${TRACKER_DIR}"
125
- cat > "${TRACKER_FILE}" <<SNAPSHOT
126
- {
127
- "inputTokens": ${CURRENT_INPUT},
128
- "outputTokens": ${CURRENT_OUTPUT},
129
- "costUSD": ${CURRENT_COST},
130
- "lastCommit": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
131
- "user": "${CURRENT_USER}"
132
- }
133
- SNAPSHOT
100
+ AI_INPUT_TOKENS=$(echo "${CODEBURN_JSON}" | jq -r '[.models[]?.inputTokens // 0] | add // 0' 2>/dev/null || echo "0")
101
+ AI_OUTPUT_TOKENS=$(echo "${CODEBURN_JSON}" | jq -r '[.models[]?.outputTokens // 0] | add // 0' 2>/dev/null || echo "0")
102
+ AI_COST=$(echo "${CODEBURN_JSON}" | jq -r '.overview.cost // 0' 2>/dev/null || echo "0")
134
103
  fi
135
104
  fi
136
105
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prism-d1/cli",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "PRISM D1 Velocity CLI — AI development lifecycle assessment tool",
5
5
  "author": "andklee",
6
6
  "license": "MIT",