@prism-d1/cli 1.0.12 → 1.0.14

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,20 +81,18 @@ 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 snapshot delta)
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
+ PROJECT_FILTER=$(echo "$REPO_ROOT" | sed 's|^/||; s|/|-|g')
91
92
  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"
93
+ TRACKER_FILE="${TRACKER_DIR}/${PROJECT_FILTER}.json"
95
94
 
96
- # Get lifetime token totals from codeburn (all-time, monotonically increasing)
97
- CODEBURN_JSON=$(codeburn report -p all --format json 2>/dev/null || echo "")
95
+ CODEBURN_JSON=$(codeburn report -p all --project "${PROJECT_FILTER}" --format json 2>/dev/null || echo "")
98
96
 
99
97
  if [[ -n "${CODEBURN_JSON}" ]]; then
100
98
  CURRENT_INPUT=$(echo "${CODEBURN_JSON}" | jq -r '[.models[]?.inputTokens // 0] | add // 0' 2>/dev/null || echo "0")
@@ -104,33 +102,19 @@ if [[ -n "${AI_TOOL}" ]] && command -v codeburn &>/dev/null; then
104
102
  if [[ -f "${TRACKER_FILE}" ]]; then
105
103
  PREV_INPUT=$(jq -r '.inputTokens // 0' "${TRACKER_FILE}" 2>/dev/null || echo "0")
106
104
  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
-
105
+ PREV_COST=$(jq -r '.cost // 0' "${TRACKER_FILE}" 2>/dev/null || echo "0")
109
106
  AI_INPUT_TOKENS=$(( CURRENT_INPUT - PREV_INPUT ))
110
107
  AI_OUTPUT_TOKENS=$(( CURRENT_OUTPUT - PREV_OUTPUT ))
111
108
  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
109
+ [[ "${AI_INPUT_TOKENS}" -lt 0 ]] && AI_INPUT_TOKENS=0
110
+ [[ "${AI_OUTPUT_TOKENS}" -lt 0 ]] && AI_OUTPUT_TOKENS=0
117
111
  else
118
- mkdir -p "${TRACKER_DIR}"
119
- AI_INPUT_TOKENS=0
120
- AI_OUTPUT_TOKENS=0
121
- AI_COST="0"
112
+ AI_INPUT_TOKENS=0; AI_OUTPUT_TOKENS=0; AI_COST="0"
122
113
  fi
123
114
 
124
115
  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
116
+ printf '{"inputTokens":%s,"outputTokens":%s,"cost":%s}\n' \
117
+ "$CURRENT_INPUT" "$CURRENT_OUTPUT" "$CURRENT_COST" > "${TRACKER_FILE}"
134
118
  fi
135
119
  fi
136
120
 
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.14",
4
4
  "description": "PRISM D1 Velocity CLI — AI development lifecycle assessment tool",
5
5
  "author": "andklee",
6
6
  "license": "MIT",