ugly-app 0.1.411 → 0.1.412

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,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.411";
1
+ export declare const CLI_VERSION = "0.1.412";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.411";
2
+ export const CLI_VERSION = "0.1.412";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/client/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAySpE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAElD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,SAAK,GAAG,IAAI,CAEtD"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/client/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAmVpE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAElD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,SAAK,GAAG,IAAI,CAEtD"}
@@ -99,6 +99,36 @@ function flatten(args) {
99
99
  ? JSON.stringify(a)
100
100
  : String(a));
101
101
  }
102
+ // Capture a call-site stack at the point of a console.error/warn so
103
+ // downstream consumers (the studio Preview panel, agent
104
+ // `dev_server_errors`, ugly.bot's error log) can show the user where
105
+ // in their code the log came from. Strips:
106
+ // - the leading "Error" header line that Chrome/Firefox emit
107
+ // - the first 2 frames (this helper + captureConsole) so the top
108
+ // frame is the user's call site, not framework plumbing
109
+ // - frames beyond #30 — keeps payloads bounded (~3 KB) since the
110
+ // studio sidecar's body cap is 64 KB and a chatty page can sustain
111
+ // dozens of warn/error calls per second.
112
+ //
113
+ // Only called from the error/warn paths in `captureConsole`; the
114
+ // `new Error()` allocation + V8 stack-unwind costs ~50–100 µs per call,
115
+ // which is fine on rare paths but expensive on the chatty
116
+ // log/info/debug hot paths we deliberately skip.
117
+ function captureCallSiteStack() {
118
+ const raw = new Error().stack;
119
+ if (typeof raw !== 'string' || raw.length === 0)
120
+ return undefined;
121
+ const lines = raw.split('\n');
122
+ // Chrome/Firefox both prefix with an "Error" / "Error:" header.
123
+ const start = lines[0]?.trimStart().startsWith('Error') ? 1 : 0;
124
+ // 2 frames to drop: captureCallSiteStack itself and captureConsole.
125
+ // (The console.* wrapper that called captureConsole is the user's
126
+ // call site — that's what we want at the top.)
127
+ const trimmed = lines.slice(start + 2, start + 2 + 30);
128
+ if (trimmed.length === 0)
129
+ return undefined;
130
+ return trimmed.join('\n');
131
+ }
102
132
  function captureConsole(level, args) {
103
133
  const flat = flatten(args);
104
134
  const message = flat.join(' ');
@@ -109,9 +139,20 @@ function captureConsole(level, args) {
109
139
  consoleBuffer.push({ timestamp: ts, level, message, args });
110
140
  if (consoleBuffer.length > MAX_BUFFER)
111
141
  consoleBuffer.shift();
142
+ // Only attach a call-site stack to error/warn entries — the cost is
143
+ // not worth paying on every log/info/debug, which can fire in tight
144
+ // loops, and the value is lower since those levels rarely get
145
+ // grepped for "where did this come from".
146
+ const stack = level === 'error' || level === 'warn'
147
+ ? captureCallSiteStack()
148
+ : undefined;
112
149
  pushSend({
113
150
  type: 'console',
114
- data: { level, args: flat },
151
+ data: {
152
+ level,
153
+ args: flat,
154
+ ...(stack ? { stack } : {}),
155
+ },
115
156
  timestamp: ts,
116
157
  });
117
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/client/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/client/Logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.411",
3
+ "version": "0.1.412",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.411";
2
+ export const CLI_VERSION = "0.1.412";
@@ -135,6 +135,35 @@ function flatten(args: unknown[]): string[] {
135
135
  );
136
136
  }
137
137
 
138
+ // Capture a call-site stack at the point of a console.error/warn so
139
+ // downstream consumers (the studio Preview panel, agent
140
+ // `dev_server_errors`, ugly.bot's error log) can show the user where
141
+ // in their code the log came from. Strips:
142
+ // - the leading "Error" header line that Chrome/Firefox emit
143
+ // - the first 2 frames (this helper + captureConsole) so the top
144
+ // frame is the user's call site, not framework plumbing
145
+ // - frames beyond #30 — keeps payloads bounded (~3 KB) since the
146
+ // studio sidecar's body cap is 64 KB and a chatty page can sustain
147
+ // dozens of warn/error calls per second.
148
+ //
149
+ // Only called from the error/warn paths in `captureConsole`; the
150
+ // `new Error()` allocation + V8 stack-unwind costs ~50–100 µs per call,
151
+ // which is fine on rare paths but expensive on the chatty
152
+ // log/info/debug hot paths we deliberately skip.
153
+ function captureCallSiteStack(): string | undefined {
154
+ const raw = new Error().stack;
155
+ if (typeof raw !== 'string' || raw.length === 0) return undefined;
156
+ const lines = raw.split('\n');
157
+ // Chrome/Firefox both prefix with an "Error" / "Error:" header.
158
+ const start = lines[0]?.trimStart().startsWith('Error') ? 1 : 0;
159
+ // 2 frames to drop: captureCallSiteStack itself and captureConsole.
160
+ // (The console.* wrapper that called captureConsole is the user's
161
+ // call site — that's what we want at the top.)
162
+ const trimmed = lines.slice(start + 2, start + 2 + 30);
163
+ if (trimmed.length === 0) return undefined;
164
+ return trimmed.join('\n');
165
+ }
166
+
138
167
  function captureConsole(level: ErrorLogLevel, args: unknown[]): void {
139
168
  const flat = flatten(args);
140
169
  const message = flat.join(' ');
@@ -146,9 +175,22 @@ function captureConsole(level: ErrorLogLevel, args: unknown[]): void {
146
175
  consoleBuffer.push({ timestamp: ts, level, message, args });
147
176
  if (consoleBuffer.length > MAX_BUFFER) consoleBuffer.shift();
148
177
 
178
+ // Only attach a call-site stack to error/warn entries — the cost is
179
+ // not worth paying on every log/info/debug, which can fire in tight
180
+ // loops, and the value is lower since those levels rarely get
181
+ // grepped for "where did this come from".
182
+ const stack =
183
+ level === 'error' || level === 'warn'
184
+ ? captureCallSiteStack()
185
+ : undefined;
186
+
149
187
  pushSend({
150
188
  type: 'console',
151
- data: { level, args: flat },
189
+ data: {
190
+ level,
191
+ args: flat,
192
+ ...(stack ? { stack } : {}),
193
+ },
152
194
  timestamp: ts,
153
195
  });
154
196
  }