meter-ai 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../src/commands/wrap.ts"],"names":[],"mappings":"AAmBA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsL3D"}
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../src/commands/wrap.ts"],"names":[],"mappings":"AAmBA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuN3D"}
@@ -79,13 +79,24 @@ export async function runWrap(args) {
79
79
  let outputBuffer = '';
80
80
  let thresholdNotified = false;
81
81
  let modelSwitched = 0;
82
- // Status bar update function
82
+ // Status bar update function — adapts to PTY vs fallback mode
83
+ let statusBarShown = false;
83
84
  const updateBar = () => {
84
85
  if (wrapper.isInAlternateScreen)
85
86
  return;
86
87
  const content = renderStatusBar(state);
87
- const N = calculateStatusBarLines(content.replace(/\x1b\[[^m]*m/g, '').length, process.stdout.columns ?? 80);
88
- injectStatusBar(content, N);
88
+ if (wrapper.usingFallback) {
89
+ // Fallback mode: only show status bar once as a header, then on threshold
90
+ if (!statusBarShown) {
91
+ process.stdout.write(content + '\n');
92
+ statusBarShown = true;
93
+ }
94
+ }
95
+ else {
96
+ // PTY mode: inject at fixed position via escape codes
97
+ const N = calculateStatusBarLines(content.replace(/\x1b\[[^m]*m/g, '').length, process.stdout.columns ?? 80);
98
+ injectStatusBar(content, N);
99
+ }
89
100
  };
90
101
  // Watch for credential refresh
91
102
  if (config.mode === 'plan') {
@@ -108,6 +119,26 @@ export async function runWrap(args) {
108
119
  }
109
120
  }, 15_000);
110
121
  }
122
+ // Per-prompt estimation: when user submits a new prompt inside the interactive
123
+ // session, re-run the estimation pipeline and update the status bar
124
+ let lastPrompt = prompt; // initial prompt from CLI args
125
+ wrapper.on('input', async (newPrompt) => {
126
+ lastPrompt = newPrompt;
127
+ const newEstimation = await runEstimationPipeline({
128
+ prompt: newPrompt,
129
+ repoFileCount,
130
+ db,
131
+ repo,
132
+ config: config.estimation,
133
+ });
134
+ state.estimatedCost = newEstimation.estimated_cost;
135
+ state.complexity = newEstimation.complexity;
136
+ // Reset elapsed cost for the new prompt
137
+ state.elapsedCost = 0;
138
+ thresholdNotified = false;
139
+ statusBarShown = false; // allow fallback mode to re-print
140
+ updateBar();
141
+ });
111
142
  wrapper.on('data', (chunk) => {
112
143
  outputBuffer += chunk;
113
144
  // Rough running cost estimate from output volume
@@ -165,12 +196,13 @@ export async function runWrap(args) {
165
196
  clearInterval(pollInterval);
166
197
  // Parse final token counts
167
198
  const tokens = parseTokensFromOutput(outputBuffer);
168
- const promptHash = createHash('sha256').update(prompt.toLowerCase().trim()).digest('hex').slice(0, 16);
199
+ const finalPrompt = lastPrompt || prompt;
200
+ const promptHash = createHash('sha256').update(finalPrompt.toLowerCase().trim()).digest('hex').slice(0, 16);
169
201
  insertTask(db, {
170
202
  created_at: taskStart,
171
203
  repo,
172
204
  prompt_hash: promptHash,
173
- prompt_text: prompt,
205
+ prompt_text: finalPrompt,
174
206
  model: state.model,
175
207
  complexity: estimation.complexity,
176
208
  est_layer: estimation.layer_used,
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/commands/wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/commands/wrap.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,33 @@
1
1
  import { EventEmitter } from 'events';
2
2
  export interface WrapperEvents {
3
3
  data: (chunk: string) => void;
4
+ input: (prompt: string) => void;
4
5
  exit: (code: number, signal: number) => void;
5
6
  }
7
+ /**
8
+ * PtyWrapper with automatic fallback and input capture.
9
+ *
10
+ * In PTY mode:
11
+ * - Captures all user input keystroke by keystroke
12
+ * - Buffers input and emits 'input' event on Enter (prompt submission)
13
+ * - This enables per-prompt estimation during interactive sessions
14
+ *
15
+ * In fallback mode:
16
+ * - stdio is inherited, no input capture possible
17
+ */
6
18
  export declare class PtyWrapper extends EventEmitter {
7
19
  private ptyProcess;
20
+ private childProcess;
8
21
  private screenTracker;
22
+ private _usingFallback;
23
+ private inputBuffer;
9
24
  get isInAlternateScreen(): boolean;
25
+ get usingFallback(): boolean;
10
26
  spawn(binary: string, args: string[], env: NodeJS.ProcessEnv): void;
27
+ private _spawnWithPty;
28
+ private _spawnWithChildProcess;
11
29
  write(data: string): void;
12
- kill(signal?: string): void;
30
+ kill(signal?: NodeJS.Signals): void;
13
31
  resize(cols: number, rows: number): void;
14
32
  }
15
33
  //# sourceMappingURL=wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/pty/wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAIrC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7C;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,aAAa,CAA+B;IAEpD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI;IAkCnE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,IAAI,CAAC,MAAM,SAAY,GAAG,IAAI;IAI9B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/pty/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAKrC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7C;AAID;;;;;;;;;;GAUG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,WAAW,CAAK;IAExB,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI;IAUnE,OAAO,CAAC,aAAa;IA8DrB,OAAO,CAAC,sBAAsB;IAY9B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzB,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,IAAI;IAQ9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAGzC"}
@@ -1,14 +1,41 @@
1
- import * as pty from 'node-pty';
2
1
  import { EventEmitter } from 'events';
2
+ import { spawn as cpSpawn } from 'child_process';
3
3
  import { AlternateScreenTracker } from './screen.js';
4
4
  import { getTerminalSize } from './resize.js';
5
+ /**
6
+ * PtyWrapper with automatic fallback and input capture.
7
+ *
8
+ * In PTY mode:
9
+ * - Captures all user input keystroke by keystroke
10
+ * - Buffers input and emits 'input' event on Enter (prompt submission)
11
+ * - This enables per-prompt estimation during interactive sessions
12
+ *
13
+ * In fallback mode:
14
+ * - stdio is inherited, no input capture possible
15
+ */
5
16
  export class PtyWrapper extends EventEmitter {
6
17
  ptyProcess = null;
18
+ childProcess = null;
7
19
  screenTracker = new AlternateScreenTracker();
20
+ _usingFallback = false;
21
+ inputBuffer = '';
8
22
  get isInAlternateScreen() {
9
23
  return this.screenTracker.isActive;
10
24
  }
25
+ get usingFallback() {
26
+ return this._usingFallback;
27
+ }
11
28
  spawn(binary, args, env) {
29
+ try {
30
+ const pty = require('node-pty');
31
+ this._spawnWithPty(pty, binary, args, env);
32
+ }
33
+ catch {
34
+ this._usingFallback = true;
35
+ this._spawnWithChildProcess(binary, args, env);
36
+ }
37
+ }
38
+ _spawnWithPty(pty, binary, args, env) {
12
39
  const size = getTerminalSize();
13
40
  this.ptyProcess = pty.spawn(binary, args, {
14
41
  name: process.env.TERM ?? 'xterm-256color',
@@ -25,10 +52,41 @@ export class PtyWrapper extends EventEmitter {
25
52
  this.ptyProcess.onExit(({ exitCode, signal }) => {
26
53
  this.emit('exit', exitCode, signal ?? 0);
27
54
  });
28
- // Forward stdin to PTY
29
- process.stdin.setRawMode(true);
55
+ // Forward stdin to PTY and capture input for per-prompt estimation
56
+ if (process.stdin.isTTY) {
57
+ process.stdin.setRawMode(true);
58
+ }
30
59
  process.stdin.on('data', (data) => {
31
- this.ptyProcess?.write(data.toString());
60
+ const str = data.toString();
61
+ this.ptyProcess?.write(str);
62
+ // Track user input for prompt detection
63
+ for (const char of str) {
64
+ if (char === '\r' || char === '\n') {
65
+ // Enter pressed — emit the buffered input as a prompt
66
+ const prompt = this.inputBuffer.trim();
67
+ if (prompt.length > 0) {
68
+ this.emit('input', prompt);
69
+ }
70
+ this.inputBuffer = '';
71
+ }
72
+ else if (char === '\x7f' || char === '\b') {
73
+ // Backspace — remove last char from buffer
74
+ this.inputBuffer = this.inputBuffer.slice(0, -1);
75
+ }
76
+ else if (char === '\x03') {
77
+ // Ctrl+C — clear buffer
78
+ this.inputBuffer = '';
79
+ }
80
+ else if (char === '\x15') {
81
+ // Ctrl+U — clear line
82
+ this.inputBuffer = '';
83
+ }
84
+ else if (char.charCodeAt(0) >= 32) {
85
+ // Printable character — append to buffer
86
+ this.inputBuffer += char;
87
+ }
88
+ // Ignore other control characters (arrows, escape sequences, etc.)
89
+ }
32
90
  });
33
91
  // Handle terminal resize
34
92
  process.on('SIGWINCH', () => {
@@ -36,11 +94,31 @@ export class PtyWrapper extends EventEmitter {
36
94
  this.ptyProcess?.resize(newSize.cols, newSize.rows);
37
95
  });
38
96
  }
97
+ _spawnWithChildProcess(binary, args, env) {
98
+ this.childProcess = cpSpawn(binary, args, {
99
+ env: { ...env },
100
+ cwd: process.cwd(),
101
+ stdio: 'inherit',
102
+ });
103
+ this.childProcess.on('exit', (code, signal) => {
104
+ this.emit('exit', code ?? 1, signal ? 1 : 0);
105
+ });
106
+ }
39
107
  write(data) {
40
- this.ptyProcess?.write(data);
108
+ if (this.ptyProcess) {
109
+ this.ptyProcess.write(data);
110
+ }
111
+ else if (this.childProcess) {
112
+ this.childProcess.stdin?.write(data);
113
+ }
41
114
  }
42
115
  kill(signal = 'SIGTERM') {
43
- this.ptyProcess?.kill(signal);
116
+ if (this.ptyProcess) {
117
+ this.ptyProcess.kill(signal);
118
+ }
119
+ else if (this.childProcess) {
120
+ this.childProcess.kill(signal);
121
+ }
44
122
  }
45
123
  resize(cols, rows) {
46
124
  this.ptyProcess?.resize(cols, rows);
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/pty/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAO7C,MAAM,OAAO,UAAW,SAAQ,YAAY;IAClC,UAAU,GAAoB,IAAI,CAAA;IAClC,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAEpD,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,IAAc,EAAE,GAAsB;QAC1D,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;QAE9B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YACxC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB;YAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE;YACf,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAyC,EAAE,EAAE;YACrF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,uBAAuB;QACvB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,yBAAyB;QACzB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;YACjC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,SAAS;QACrB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,IAAY;QAC/B,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/pty/wrapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "meter-ai",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Intelligent CLI wrapper for Claude Code — pre-task cost estimation, live status bar, budget protection",
5
5
  "bin": {
6
6
  "meter": "dist/index.js"