next-observer 0.2.2 → 0.3.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/README.md CHANGED
@@ -20,6 +20,7 @@ Requires Node.js 22.18+. The app is instrumented with `next-observe` (see its RE
20
20
  ## Commands
21
21
 
22
22
  ```bash
23
+ next-observer init [--root <dir>] [--proxy] # connect a Next.js app (see below)
23
24
  next-observer dev [--root <dir>] [--port <n>] [-- <next dev args>] # observer + next dev
24
25
  next-observer collector [--host <h>] [--port <n>] [--api-key <k>] [--demo]
25
26
  ```
@@ -27,8 +28,13 @@ next-observer collector [--host <h>] [--port <n>] [--api-key <k>] [--demo]
27
28
  Run them with `npx next-observer <command>`; installed globally (`npm i -g next-observer`) the command is also
28
29
  available as `nxo`.
29
30
 
31
+ `next-observer init` installs `next-observe` with the project's package manager, wraps the exported `next.config` in
32
+ `withObserve()`, creates `instrumentation.ts` and `instrumentation-client.ts` (in `src/` when the app lives there; `.js`
33
+ without TypeScript) and adds an `observe` script. Already connected files stay untouched; an existing `register()` is
34
+ never rewritten — init says what to add. `--proxy` also creates the runtime proxy route for browser spans.
35
+
30
36
  `next-observer collector` runs the observer alone — next to `next dev` in another terminal, or on a server for production.
31
- `--demo` preloads a sample "shop" scenario (a regression between versions, a failing endpoint, an N+1).
37
+ `--demo` preloads a sample "shop" scenario (a regression between versions, a failing endpoint, an N+1) and keeps sending live v2 traffic, so the detector and the agents have something to find without an app.
32
38
 
33
39
  ## Models
34
40
 
package/dist/cli.d.ts CHANGED
@@ -1,16 +1,18 @@
1
1
  import type { ChildProcess, SpawnOptions } from 'node:child_process';
2
+ import { init } from './init.js';
2
3
  type AgentsModule = typeof import('./agents/index.js');
3
- export declare const HELP = "Usage:\n next-observer dev [--root <dir>] [--port <n>] [-- <next dev args>]\n Start the collector and `next dev` for the app in <dir> (default: current directory).\n Example: next-observer dev --root apps/web -- -p 3100\n\n next-observer collector [--host <host>] [--port <n>] [--api-key <key>] [--demo]\n Start only the collector (e.g. on a server). Reads OBSERVE_HOST, OBSERVE_PORT, OBSERVE_API_KEY.\n --demo preloads the workshop \"shop\" scenario (a regression in v2, 30% inventory errors, an N+1).\n\nEnvironment: OBSERVE_ROOT, OBSERVE_PORT (default 4318), OBSERVE_HOST (default 127.0.0.1), OBSERVE_API_KEY,\n OBSERVE_AI (mock | real), OBSERVE_DETECTOR (off to disable the anomaly detector)";
4
+ export declare const HELP = "Usage:\n next-observer init [--root <dir>] [--proxy]\n Connect a Next.js app to next-observe: install it, wrap next.config in withObserve(), add instrumentation.ts and\n instrumentation-client.ts, and an \"observe\" script. Safe to run again. --proxy also adds the runtime proxy route.\n\n next-observer dev [--root <dir>] [--port <n>] [-- <next dev args>]\n Start the collector and `next dev` for the app in <dir> (default: current directory).\n Example: next-observer dev --root apps/web -- -p 3100\n\n next-observer collector [--host <host>] [--port <n>] [--api-key <key>] [--demo]\n Start only the collector (e.g. on a server). Reads OBSERVE_HOST, OBSERVE_PORT, OBSERVE_API_KEY.\n --demo preloads the workshop \"shop\" scenario (a regression in v2, 30% inventory errors, an N+1).\n\nEnvironment: OBSERVE_ROOT, OBSERVE_PORT (default 4318), OBSERVE_HOST (default 127.0.0.1), OBSERVE_API_KEY,\n OBSERVE_AI (mock | real), OBSERVE_DETECTOR (off to disable the anomaly detector)";
4
5
  export declare class CliError extends Error {
5
6
  }
6
7
  export type Env = Record<string, string | undefined>;
7
8
  export interface CliArgs {
8
- command: 'dev' | 'collector' | 'help';
9
+ command: 'init' | 'dev' | 'collector' | 'help';
9
10
  root: string;
10
11
  port: number;
11
12
  host: string;
12
13
  apiKey?: string;
13
14
  demo: boolean;
15
+ proxy: boolean;
14
16
  nextArgs: string[];
15
17
  }
16
18
  export declare function parseCliArgs(argv: string[], env: Env, cwd: string): CliArgs;
@@ -21,6 +23,8 @@ export interface CliDeps {
21
23
  spawn: (command: string, args: string[], options: SpawnOptions) => ChildProcess;
22
24
  /** Resolves when the CLI should stop (SIGINT/SIGTERM in real use). */
23
25
  shutdownSignal: Promise<string>;
26
+ /** Replaces init() in tests. */
27
+ init?: typeof init;
24
28
  /** Loads the agents module; injectable for tests. */
25
29
  loadAgents?: () => Promise<AgentsModule>;
26
30
  }
package/dist/cli.js CHANGED
@@ -4,9 +4,14 @@ import { dirname, join, resolve } from 'node:path';
4
4
  import { pathToFileURL } from 'node:url';
5
5
  import { parseArgs } from 'node:util';
6
6
  import { MemoryStorage, startCollector } from './collector/index.js';
7
- import { seedDemo } from './debug/demo.js';
7
+ import { seedDemo, startLiveDemo } from './debug/demo.js';
8
+ import { detectPackageManager, init } from './init.js';
8
9
  import { AnomalyDetector } from './debug/detector.js';
9
10
  export const HELP = `Usage:
11
+ next-observer init [--root <dir>] [--proxy]
12
+ Connect a Next.js app to next-observe: install it, wrap next.config in withObserve(), add instrumentation.ts and
13
+ instrumentation-client.ts, and an "observe" script. Safe to run again. --proxy also adds the runtime proxy route.
14
+
10
15
  next-observer dev [--root <dir>] [--port <n>] [-- <next dev args>]
11
16
  Start the collector and \`next dev\` for the app in <dir> (default: current directory).
12
17
  Example: next-observer dev --root apps/web -- -p 3100
@@ -34,6 +39,7 @@ export function parseCliArgs(argv, env, cwd) {
34
39
  host: { type: 'string' },
35
40
  'api-key': { type: 'string' },
36
41
  demo: { type: 'boolean' },
42
+ proxy: { type: 'boolean' },
37
43
  help: { type: 'boolean', short: 'h' },
38
44
  },
39
45
  });
@@ -43,7 +49,7 @@ export function parseCliArgs(argv, env, cwd) {
43
49
  }
44
50
  const { values, positionals } = parsed;
45
51
  const command = values.help || positionals.length === 0 ? 'help' : positionals[0];
46
- if (command !== 'dev' && command !== 'collector' && command !== 'help')
52
+ if (command !== 'init' && command !== 'dev' && command !== 'collector' && command !== 'help')
47
53
  throw new CliError(`unknown command "${command}"`);
48
54
  const rawPort = values.port ?? env.OBSERVE_PORT ?? '4318';
49
55
  const port = Number(rawPort);
@@ -56,6 +62,7 @@ export function parseCliArgs(argv, env, cwd) {
56
62
  host: values.host ?? env.OBSERVE_HOST ?? '127.0.0.1',
57
63
  apiKey: values['api-key'] ?? env.OBSERVE_API_KEY,
58
64
  demo: values.demo ?? false,
65
+ proxy: values.proxy ?? false,
59
66
  nextArgs,
60
67
  };
61
68
  }
@@ -155,11 +162,19 @@ async function start(args, deps) {
155
162
  else
156
163
  lines.push(' detector off (OBSERVE_DETECTOR=off)');
157
164
  if (args.demo)
158
- lines.push(' demo "shop" scenario loaded: v1 → v2 regression, inventory errors, catalog N+1');
165
+ lines.push(' demo "shop" scenario: v1 → v2 regression, inventory errors, catalog N+1 — live v2 traffic every 2 s');
159
166
  const line = lines.join('\n');
160
167
  try {
161
168
  const collector = await startCollector({ port: args.port, host: args.host, apiKey: args.apiKey, storage, chat, detector });
162
- return { collector, chatLine: line };
169
+ const stopDemo = args.demo ? startLiveDemo({ storage, detector }) : undefined;
170
+ return {
171
+ collector,
172
+ chatLine: line,
173
+ stop: async () => {
174
+ stopDemo?.();
175
+ await collector.close();
176
+ },
177
+ };
163
178
  }
164
179
  catch (error) {
165
180
  if (error.code === 'EADDRINUSE') {
@@ -177,15 +192,15 @@ function banner(collector, extra = []) {
177
192
  ].join('\n');
178
193
  }
179
194
  async function runCollector(args, deps) {
180
- const { collector, chatLine } = await start(args, deps);
195
+ const { collector, chatLine, stop } = await start(args, deps);
181
196
  deps.log(banner(collector, [chatLine, ...(args.apiKey ? [' auth x-api-key required'] : [])]));
182
197
  await deps.shutdownSignal;
183
- await collector.close();
198
+ await stop();
184
199
  return 0;
185
200
  }
186
201
  async function runDev(args, deps) {
187
202
  const nextBin = resolveNextBin(args.root);
188
- const { collector, chatLine } = await start(args, deps);
203
+ const { collector, chatLine, stop } = await start(args, deps);
189
204
  deps.log(banner(collector, [chatLine, ` app ${['next dev', ...args.nextArgs].join(' ')} in ${args.root}`]));
190
205
  const child = deps.spawn(process.execPath, [nextBin, 'dev', ...args.nextArgs], {
191
206
  cwd: args.root,
@@ -209,9 +224,37 @@ async function runDev(args, deps) {
209
224
  await exited;
210
225
  code = 0;
211
226
  }
212
- await collector.close();
227
+ await stop();
213
228
  return code;
214
229
  }
230
+ /** "^0.2" for 0.2.x — the range the app's "observe" script asks npx for. */
231
+ function ownRange() {
232
+ const { version } = createRequire(import.meta.url)('../package.json');
233
+ const [major, minor] = version.split('.');
234
+ return major === '0' ? `^0.${minor}` : `^${major}`;
235
+ }
236
+ async function runInit(args, deps) {
237
+ const install = (root, pm) => new Promise((resolveInstall) => {
238
+ const child = deps.spawn(pm, [pm === 'npm' ? 'install' : 'add', 'next-observe'], { cwd: root, stdio: 'inherit', shell: process.platform === 'win32' });
239
+ child.once('exit', (code) => resolveInstall(code === 0));
240
+ child.once('error', () => resolveInstall(false));
241
+ });
242
+ let changes;
243
+ try {
244
+ changes = await (deps.init ?? init)({ root: args.root, proxy: args.proxy, observerRange: ownRange(), install });
245
+ }
246
+ catch (error) {
247
+ throw new CliError(error.message);
248
+ }
249
+ const width = Math.max(...changes.map((c) => c.file.length));
250
+ deps.log(['next-observer init', ...changes.map((c) => ` ${c.action.padEnd(9)} ${c.file.padEnd(width)} ${c.note}`)].join('\n'));
251
+ const manual = changes.filter((c) => c.action === 'manual').length;
252
+ const start = `${detectPackageManager(args.root)} run observe`;
253
+ deps.log(manual
254
+ ? `\n${manual} step(s) to do by hand (above). Then: ${start}`
255
+ : `\nDone. Start the app with the observer: ${start} — traces and the agents' chat at http://127.0.0.1:4318`);
256
+ return 0;
257
+ }
215
258
  export async function run(argv, deps) {
216
259
  try {
217
260
  const args = parseCliArgs(argv, deps.env, deps.cwd);
@@ -219,6 +262,8 @@ export async function run(argv, deps) {
219
262
  deps.log(HELP);
220
263
  return 0;
221
264
  }
265
+ if (args.command === 'init')
266
+ return await runInit(args, deps);
222
267
  return await (args.command === 'dev' ? runDev(args, deps) : runCollector(args, deps));
223
268
  }
224
269
  catch (error) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAyC,MAAM,sBAAsB,CAAA;AAC3G,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAKrD,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;8FAU0E,CAAA;AAE9F,MAAM,OAAO,QAAS,SAAQ,KAAK;CAAG;AActC,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,GAAQ,EAAE,GAAW;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAElE,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE;gBACP,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;aACtC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAE,KAAe,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACjF,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,MAAM;QAAE,MAAM,IAAI,QAAQ,CAAC,oBAAoB,OAAO,GAAG,CAAC,CAAA;IAE1H,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,MAAM,CAAA;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,iBAAiB,OAAO,GAAG,CAAC,CAAA;IAExG,OAAO;QACL,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC;QAC1D,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,WAAW;QACpD,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,eAAe;QAChD,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK;QAC1B,QAAQ;KACT,CAAA;AACH,CAAC;AAaD,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,IAAI,0BAA0B,CAAC,CAAA;IACrH,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC1F,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,4BAA4B,IAAI,gCAAgC,CAAC,CAAA;IACtF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;AAIlH;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,MAAoB;IACtE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,CAAA;IAC9F,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,QAAiB,CAAA;IACrB,0HAA0H;IAC1H,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACvC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAuB,EAAE,GAAG,IAAe,EAAE,EAAE;QACrE,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAmC,EAAE,IAAI,CAAA;QAC7D,IAAI,IAAI,KAAK,8BAA8B,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAM;QACrF,OAAQ,WAA4C,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;IACtF,CAAC,CAA+B,CAAA;IAChC,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,KAA8B,CAAA;QACxC,IAAI,CAAC,EAAE,IAAI,KAAK,4BAA4B;YAAE,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,+FAA+F,CAAC,CAAA;QACxK,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;IACnC,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACjG,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,oDAAoD,CAAC,CAAA;IAC1F,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAsB,CAAC,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACpE,IAAI,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,iBAAiB,SAAS,oBAAoB,CAAC,CAAA;IACxF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,OAAyB,EAAE,IAAY,EAAE,OAAyB;IACpF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACrG,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC9F,OAAO,gBAAgB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACxG,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAsB,EAAE,IAAY,EAAE,IAAa;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/E,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACvF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAA;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,MAAM,IAAI,GAAG,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAA;QAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACjI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAE,KAAe,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAa,EAAE,IAAa;IAC/C,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAA;IACnC,IAAI,IAAI,CAAC,IAAI;QAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAA;IACxF,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,GAAG,GAAG,aAAa,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,QAAQ,GAAG,GAAG,gBAAgB,CAAC,CAAC,WAAW,GAAG,IAAI,qCAAqC,CAAC,CAAA;IAC/K,CAAC;;QAAM,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IAC5D,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAA;IACnH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC1H,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3D,MAAM,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,uEAAuE,CAAC,CAAA;QAC9G,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,SAAoB,EAAE,KAAK,GAAa,EAAE;IACxD,OAAO;QACL,eAAe;QACf,gBAAgB,SAAS,CAAC,GAAG,EAAE;QAC/B,gBAAgB,SAAS,CAAC,GAAG,wEAAwE;QACrG,GAAG,KAAK;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAa,EAAE,IAAa;IACtD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACpG,MAAM,IAAI,CAAC,cAAc,CAAA;IACzB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACvB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAa,EAAE,IAAa;IAChD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7E,GAAG,EAAE,IAAI,CAAC,IAAI;QACd,KAAK,EAAE,SAAS;QAChB,2FAA2F;QAC3F,wGAAwG;QACxG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC,GAAG,EAAkC;KACtF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,OAAO,CAAS,CAAC,WAAW,EAAE,EAAE;QACjD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3G,IAAI,IAAY,CAAA;IAChB,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClD,MAAM,MAAM,CAAA;QACZ,IAAI,GAAG,CAAC,CAAA;IACV,CAAC;IACD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACvB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,IAAa;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACd,OAAO,CAAC,CAAA;QACV,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACvF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;YAAE,MAAM,KAAK,CAAA;QAC7C,IAAI,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,OAAO,OAAO,IAAI,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,20 @@ import type { NormalizedSpan, StorageAdapter } from '../collector/types.js';
2
2
  export declare function demoSpans(now?: number): NormalizedSpan[];
3
3
  /** Inserts the demo scenario. Old v0 data goes first so deploy order is v0 → v1 → v2. */
4
4
  export declare function seedDemo(storage: StorageAdapter, now?: number): Promise<void>;
5
+ export interface LiveDemoOptions {
6
+ storage: StorageAdapter;
7
+ /** Gets the same spans as ingested traffic would give it. */
8
+ detector?: {
9
+ observe(spans: NormalizedSpan[]): void;
10
+ };
11
+ /** Default 2000. */
12
+ intervalMs?: number;
13
+ now?: () => number;
14
+ }
15
+ /** One tick of v2 traffic, with the same three bugs: slow payment, 30% inventory failures, the catalog N+1. */
16
+ export declare function liveDemoSpans(now: number, tick: number): NormalizedSpan[];
17
+ /**
18
+ * Keeps `--demo` alive: without new traffic the shop looks silent after a few minutes and nothing triggers the detector.
19
+ * Returns stop(); call it before closing the collector.
20
+ */
21
+ export declare function startLiveDemo(options: LiveDemoOptions): () => void;
@@ -87,4 +87,28 @@ export async function seedDemo(storage, now = Date.now()) {
87
87
  const spans = demoSpans(now);
88
88
  await storage.insertSpans([...spans.slice(-3), ...spans.slice(0, -3)]);
89
89
  }
90
+ /** One tick of v2 traffic, with the same three bugs: slow payment, 30% inventory failures, the catalog N+1. */
91
+ export function liveDemoSpans(now, tick) {
92
+ return [
93
+ ...checkout('v2', now, PAYMENT_V2[tick % PAYMENT_V2.length]),
94
+ // 3 in 10, spread out like random failures (ticks 2, 5, 8): three in a row — or one in the first ticks, while the
95
+ // detector's window still holds few requests — would look like an app-wide error spike instead of a broken endpoint.
96
+ ...inventory('v2', now + 100, [2, 5, 8].includes(tick % 10)),
97
+ ...(tick % 5 === 0 ? catalog('v2', now + 200) : []),
98
+ ];
99
+ }
100
+ /**
101
+ * Keeps `--demo` alive: without new traffic the shop looks silent after a few minutes and nothing triggers the detector.
102
+ * Returns stop(); call it before closing the collector.
103
+ */
104
+ export function startLiveDemo(options) {
105
+ const now = options.now ?? Date.now;
106
+ let tick = 0;
107
+ const timer = setInterval(() => {
108
+ const spans = liveDemoSpans(now(), tick++);
109
+ void options.storage.insertSpans(spans).then(() => options.detector?.observe(spans));
110
+ }, options.intervalMs ?? 2000);
111
+ timer.unref();
112
+ return () => clearInterval(timer);
113
+ }
90
114
  //# sourceMappingURL=demo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/debug/demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/debug/demo.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { createAgentQueries, type AgentQueries, type QueryOptions, type TraceRow } from './queries.js';
2
- export { demoSpans, seedDemo } from './demo.js';
2
+ export { demoSpans, liveDemoSpans, seedDemo, startLiveDemo, type LiveDemoOptions } from './demo.js';
3
3
  export { AnomalyDetector, questionFor, type Anomaly, type AnomalyType, type DetectorOptions } from './detector.js';
@@ -1,5 +1,5 @@
1
1
  // Agent building blocks. No LLM framework is imported here — ADK wiring comes on top.
2
2
  export { createAgentQueries } from './queries.js';
3
- export { demoSpans, seedDemo } from './demo.js';
3
+ export { demoSpans, liveDemoSpans, seedDemo, startLiveDemo } from './demo.js';
4
4
  export { AnomalyDetector, questionFor } from './detector.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAuD,MAAM,cAAc,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAwD,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAuD,MAAM,cAAc,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAwB,MAAM,WAAW,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,WAAW,EAAwD,MAAM,eAAe,CAAA"}
package/dist/init.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ export type InitAction = 'created' | 'updated' | 'unchanged' | 'manual';
2
+ export interface InitChange {
3
+ file: string;
4
+ action: InitAction;
5
+ note: string;
6
+ }
7
+ export interface InitOptions {
8
+ root: string;
9
+ /** Also create the runtime proxy route for browser spans (production: destination and keys read at runtime). */
10
+ proxy?: boolean;
11
+ /** The observer version range for the package.json script, e.g. "^0.2". */
12
+ observerRange: string;
13
+ /** Installs next-observe with the project's package manager; returns false on failure. */
14
+ install: (root: string, packageManager: PackageManager) => Promise<boolean>;
15
+ }
16
+ export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
17
+ export declare function detectPackageManager(root: string): PackageManager;
18
+ /**
19
+ * Wraps the exported Next config in withObserve(). The exported expression may be anything (an object, a variable, a
20
+ * function, a call), so it is not parsed: `export default <expr>` becomes `const nextObserveConfig = <expr>` and the
21
+ * export moves to the end. Returns undefined when the file has no single recognisable export.
22
+ */
23
+ export declare function wrapNextConfig(source: string, commonJs: boolean): string | undefined;
24
+ export declare function init(options: InitOptions): Promise<InitChange[]>;
package/dist/init.js ADDED
@@ -0,0 +1,158 @@
1
+ // `next-observer init` — connects a Next.js app to next-observe in one command. Safe to run twice: files that are already
2
+ // connected are left alone, and anything it cannot rewrite with certainty is reported as a manual step, never guessed.
3
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
4
+ import { dirname, join, relative } from 'node:path';
5
+ export function detectPackageManager(root) {
6
+ if (existsSync(join(root, 'pnpm-lock.yaml')))
7
+ return 'pnpm';
8
+ if (existsSync(join(root, 'yarn.lock')))
9
+ return 'yarn';
10
+ if (existsSync(join(root, 'bun.lock')) || existsSync(join(root, 'bun.lockb')))
11
+ return 'bun';
12
+ return 'npm';
13
+ }
14
+ const CONFIG_FILES = ['next.config.ts', 'next.config.mts', 'next.config.mjs', 'next.config.js', 'next.config.cjs'];
15
+ const LOCAL = 'nextObserveConfig';
16
+ /**
17
+ * Wraps the exported Next config in withObserve(). The exported expression may be anything (an object, a variable, a
18
+ * function, a call), so it is not parsed: `export default <expr>` becomes `const nextObserveConfig = <expr>` and the
19
+ * export moves to the end. Returns undefined when the file has no single recognisable export.
20
+ */
21
+ export function wrapNextConfig(source, commonJs) {
22
+ if (/\bwithObserve\b/.test(source))
23
+ return source;
24
+ const pattern = commonJs ? /^module\.exports\s*=\s*/gm : /^export\s+default\s+/gm;
25
+ const matches = source.match(pattern);
26
+ if (!matches || matches.length !== 1)
27
+ return undefined;
28
+ const importLine = commonJs ? `const { withObserve } = require('next-observe/config')` : `import { withObserve } from 'next-observe/config'`;
29
+ // The common case — create-next-app's `export default nextConfig` — becomes `export default withObserve(nextConfig)`.
30
+ const identifier = commonJs ? /^module\.exports\s*=\s*([A-Za-z_$][\w$]*)\s*;?\s*$/m : /^export\s+default\s+([A-Za-z_$][\w$]*)\s*;?\s*$/m;
31
+ const simple = identifier.exec(source);
32
+ if (simple) {
33
+ const exported = commonJs ? `module.exports = withObserve(${simple[1]})` : `export default withObserve(${simple[1]})`;
34
+ return `${importLine}\n${source.replace(identifier, exported).trimEnd()}\n`;
35
+ }
36
+ const body = source.replace(pattern, `const ${LOCAL} = `).trimEnd();
37
+ if (commonJs) {
38
+ return `const { withObserve } = require('next-observe/config')\n${body}\n\nmodule.exports = withObserve(${LOCAL})\n`;
39
+ }
40
+ return `import { withObserve } from 'next-observe/config'\n${body}\n\nexport default withObserve(${LOCAL})\n`;
41
+ }
42
+ function isCommonJs(file, source, packageType) {
43
+ if (file.endsWith('.cjs'))
44
+ return true;
45
+ if (file.endsWith('.mjs') || file.endsWith('.mts') || file.endsWith('.ts'))
46
+ return false;
47
+ // next.config.js: CommonJS unless the package is "type": "module" or the file uses ESM syntax.
48
+ return packageType !== 'module' && !/^export\s+default\s+/m.test(source);
49
+ }
50
+ function readJson(file) {
51
+ return JSON.parse(readFileSync(file, 'utf8'));
52
+ }
53
+ export async function init(options) {
54
+ const { root } = options;
55
+ const changes = [];
56
+ const rel = (file) => relative(root, file) || file;
57
+ const write = (file, content) => {
58
+ mkdirSync(dirname(file), { recursive: true });
59
+ writeFileSync(file, content);
60
+ };
61
+ const packageFile = join(root, 'package.json');
62
+ if (!existsSync(packageFile))
63
+ throw new Error(`no package.json in ${root} — run init in the app folder or pass --root <dir>`);
64
+ const pkg = readJson(packageFile);
65
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
66
+ if (!deps.next)
67
+ throw new Error(`${rel(packageFile)} has no "next" dependency — init is for Next.js apps`);
68
+ // 1. The instrumentation package (into the app; the observer itself stays outside it, run with npx).
69
+ if (deps['next-observe'])
70
+ changes.push({ file: 'package.json', action: 'unchanged', note: 'next-observe is already a dependency' });
71
+ else {
72
+ const pm = detectPackageManager(root);
73
+ if (await options.install(root, pm))
74
+ changes.push({ file: 'package.json', action: 'updated', note: `${pm} added next-observe` });
75
+ else
76
+ changes.push({ file: 'package.json', action: 'manual', note: `installing failed — run \`${pm} ${pm === 'npm' ? 'install' : 'add'} next-observe\`` });
77
+ }
78
+ const typescript = existsSync(join(root, 'tsconfig.json'));
79
+ // 2. next.config: wrap the exported config in withObserve().
80
+ const configFile = CONFIG_FILES.map((f) => join(root, f)).find(existsSync);
81
+ if (!configFile) {
82
+ // TypeScript projects get next.config.ts; plain JS ones an ES module that works whatever "type" package.json has.
83
+ const file = join(root, typescript ? 'next.config.ts' : 'next.config.mjs');
84
+ write(file, typescript
85
+ ? `import type { NextConfig } from 'next'\nimport { withObserve } from 'next-observe/config'\n\nconst nextConfig: NextConfig = {}\n\nexport default withObserve(nextConfig)\n`
86
+ : `import { withObserve } from 'next-observe/config'\n\nexport default withObserve({})\n`);
87
+ changes.push({ file: rel(file), action: 'created', note: 'with withObserve()' });
88
+ }
89
+ else {
90
+ const source = readFileSync(configFile, 'utf8');
91
+ const wrapped = wrapNextConfig(source, isCommonJs(configFile, source, pkg.type));
92
+ if (wrapped === source)
93
+ changes.push({ file: rel(configFile), action: 'unchanged', note: 'already uses withObserve()' });
94
+ else if (wrapped === undefined) {
95
+ changes.push({ file: rel(configFile), action: 'manual', note: "wrap the exported config: `export default withObserve(config)` (import { withObserve } from 'next-observe/config')" });
96
+ }
97
+ else {
98
+ write(configFile, wrapped);
99
+ changes.push({ file: rel(configFile), action: 'updated', note: 'exported config wrapped in withObserve()' });
100
+ }
101
+ }
102
+ // 3–4. Instrumentation files next to app/ — in src/ when the app lives in src/app.
103
+ const base = existsSync(join(root, 'src', 'app')) || existsSync(join(root, 'src', 'pages')) ? join(root, 'src') : root;
104
+ const ext = typescript ? 'ts' : 'js';
105
+ const findFile = (name) => ['ts', 'js', 'mjs', 'mts'].map((e) => join(base, `${name}.${e}`)).find(existsSync);
106
+ const server = findFile('instrumentation');
107
+ if (!server) {
108
+ const file = join(base, `instrumentation.${ext}`);
109
+ write(file, `export { register } from 'next-observe/server'\n`);
110
+ changes.push({ file: rel(file), action: 'created', note: 'server traces' });
111
+ }
112
+ else if (readFileSync(server, 'utf8').includes('next-observe/server')) {
113
+ changes.push({ file: rel(server), action: 'unchanged', note: 'already registers next-observe' });
114
+ }
115
+ else {
116
+ // An existing register() may do other things — merging code automatically could break it.
117
+ changes.push({ file: rel(server), action: 'manual', note: "call next-observe from your register(): `import { register as observe } from 'next-observe/server'` and `observe()` inside it" });
118
+ }
119
+ const client = findFile('instrumentation-client');
120
+ if (!client) {
121
+ const file = join(base, `instrumentation-client.${ext}`);
122
+ write(file, `import 'next-observe/client'\n`);
123
+ changes.push({ file: rel(file), action: 'created', note: 'browser traces' });
124
+ }
125
+ else {
126
+ const source = readFileSync(client, 'utf8');
127
+ if (source.includes('next-observe/client'))
128
+ changes.push({ file: rel(client), action: 'unchanged', note: 'already imports next-observe/client' });
129
+ else {
130
+ // A side-effect import at the top is safe to add to any client instrumentation file.
131
+ write(client, `import 'next-observe/client'\n${source}`);
132
+ changes.push({ file: rel(client), action: 'updated', note: 'imports next-observe/client' });
133
+ }
134
+ }
135
+ // 5. Optional runtime proxy route for browser spans.
136
+ if (options.proxy) {
137
+ const appDir = existsSync(join(root, 'src', 'app')) ? join(root, 'src', 'app') : join(root, 'app');
138
+ const file = join(appDir, 'api', 'next-observe', '[...path]', `route.${ext}`);
139
+ if (existsSync(file))
140
+ changes.push({ file: rel(file), action: 'unchanged', note: 'proxy route exists' });
141
+ else {
142
+ write(file, `export { POST } from 'next-observe/proxy'\n`);
143
+ changes.push({ file: rel(file), action: 'created', note: 'runtime proxy for browser spans' });
144
+ }
145
+ }
146
+ // 6. A script to start the app together with the observer, without installing the observer into the app.
147
+ const fresh = readJson(packageFile);
148
+ if (fresh.scripts?.observe)
149
+ changes.push({ file: 'package.json', action: 'unchanged', note: 'script "observe" exists' });
150
+ else {
151
+ fresh.scripts = { ...fresh.scripts, observe: `npx --yes next-observer@${options.observerRange} dev` };
152
+ const indent = /^(\s+)"/m.exec(readFileSync(packageFile, 'utf8'))?.[1] ?? ' ';
153
+ write(packageFile, `${JSON.stringify(fresh, null, indent)}\n`);
154
+ changes.push({ file: 'package.json', action: 'updated', note: 'script "observe": next dev + the observer' });
155
+ }
156
+ return changes;
157
+ }
158
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-observer",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "The observer for next-observe: OTLP collector, trace UI, anomaly detector and AI agents that investigate your Next.js app. Run with npx next-observer dev.",
5
5
  "keywords": [
6
6
  "nextjs",