Skip to content

ci(mcp): add integration test setup validating @posthog/mcp across MCP SDK v1 and v2 - #4565

Merged
gesh merged 9 commits into
mainfrom
posthog-code/mcp-harness-ci
Aug 20, 2026
Merged

ci(mcp): add integration test setup validating @posthog/mcp across MCP SDK v1 and v2#4565
gesh merged 9 commits into
mainfrom
posthog-code/mcp-harness-ci

Conversation

@gesh

@gesh gesh commented Aug 19, 2026

Copy link
Copy Markdown
Member

Implements an integration test setup for @posthog/mcp at packages/mcp/harness/, plus a blocking MCP harness CI workflow. It runs on every PR that affects @posthog/mcp (via the existing check-affected gate), needs no secrets and no network (the PostHog client is an in-process recorder), and works on fork PRs. Nothing ships: harness/ is dev-only, outside the package's files.

Screenshot 2026-08-20 at 15 42 56

Mega issue: PostHog/posthog#64016

What we test

Real MCP servers over real HTTP (raw JSON-RPC, not the SDK client), instrumented with the workspace build of @posthog/mcp. Four CI lanes, one job each:

Lane Stack Asserts
official SDK v1 @modelcontextprotocol/sdk 1.x 4 matrix rows + the probes' v1 halves
official SDK v2 @modelcontextprotocol/{core,server,node} 2.x 8 matrix rows + the probes' v2 halves (incl. the v2-only first-call-error probe)
mcp-nest (SDK v1) NestJS + @rekog/mcp-nest 1.9 + SDK v1, stateless 16 assertions × LEVEL=high|low
mcp-nest (SDK v2) NestJS + @rekog/mcp-nest 2.0 + SDK v2, both eras (the #4449 stack) 37 assertions × LEVEL=high|low

Every lane covers the core capture surface — tool calls, errors, intent, sessions (conversation-id on/off) — plus identity (client, protocol version) and safety (no warnings, correct Mcp-Session-Id header behaviour, server survives custom registrations). LEVEL=high is the documented instrument(server); LEVEL=low is the instrument(server.server) workaround.

The probes cover orderings the matrix can't reach — each sdk lane runs only its own major's halves (--major v1|v2), so a red probe names the stack: handlers registered after instrument() (the adapter shape), a failure on the first call of a conversation, and a two-page tool catalogue (nextCursor / ttlMs / cacheScope / result _meta must survive the listing wrapper).

The matrix

12 rows (server topology) × 10 assertion columns, current state:

                              ───────── capture ──────────────── identity ────────────── safety ───────
                              calls errors intent schema session client protocol warnings header alive
───────────────────────────────────────────────────────────────────────────────────────────────────────
v1  stateful   high             ✓      ✓      ✓      ✓      ✓       ✓       ✓        ✓       ✓     ·
v1  stateful   low              ✓      ✓      ✓      ✓      ✓       ✓       ✓        ✓       ✓     ·
v1  stateless  high             ✓      ✓      ✓      ✓      ✓       ✓       ✓        ✓       ✓     ·
v1  stateless  low              ✓      ✓      ✓      ✓      ✓       ✓       ✓        ✓       ✓     ·
───────────────────────────────────────────────────────────────────────────────────────────────────────
v2  high  2025  conv=off        ✓      ✓      ✓      ✓      ·       ✗       ✓        ✓       ✓     ✓
v2  high  2025  conv=on         ✓      ✓      ✓      ✓      ✓       ✗       ✓        ✓       ✓     ✓
v2  high  2026  conv=off        ✓      ✓      ✓      ✓      ·       ✓       ✓        ✓       ✓     ✓
v2  high  2026  conv=on         ✓      ✓      ✓      ✓      ✓       ✓       ✓        ✓       ✓     ✓
v2  low   2025  conv=off        ✓      ✓      ✓      ✓      ·       ✗       ✓        ✓       ✓     ✓
v2  low   2025  conv=on         ✓      ✓      ✓      ✓      ✗       ✗       ✓        ✓       ✓     ✓
v2  low   2026  conv=off        ✓      ✓      ✓      ✓      ·       ✓       ✓        ✓       ✓     ✓
v2  low   2026  conv=on         ✓      ✓      ✓      ✓      ✗       ✓       ✓        ✓       ✓     ✓

The ✗ cells are known and pinned in expected-failures.json files (each entry carries a why): the four 2025-era client cells (documented limitation of the v2 SDK's legacy leg), the two low-level session cells (parked ownership gap), and — on the Nest v2 stack — error message is clean on both eras (NestJS flattens thrown errors to "Internal server error"). A run passes iff the failing set exactly matches the snapshot: a regression fails the lane, and so does an unexpected improvement, so every moved cell is a deliberate, reviewable diff.

Running locally

# everything: builds @posthog/mcp, runs all four lanes, prints the matrix + summary
pnpm test:mcp-harness

# one lane (exactly what CI runs)
pnpm --filter @posthog/mcp run test:integration:sdk-v1
pnpm --filter @posthog/mcp run test:integration:sdk-v2
pnpm --filter @posthog/mcp run test:integration:nest-v1
pnpm --filter @posthog/mcp run test:integration:nest-v2

# one matrix cell, by hand (PORT=0 → ephemeral, announced on stdout)
cd packages/mcp/harness/dual-era
PORT=3222 LEVEL=high CONVERSATION_ID=1 node servers/v2.mjs &
node client/run.mjs --url http://localhost:3222 --sdk v2 --lane 2026 --conv on

# one Nest stack
LEVEL=low node packages/mcp/harness/nest-v2/verify.mjs

Full reference (env vars, wire formats, design notes): packages/mcp/harness/README.md.

Design points

  • Fixtures import @posthog/mcp via Node self-reference, so they always test the package's own dist/.
  • Servers bind ephemeral ports (PORT=0) and announce them on stdout, so rows can't collide; explicit PORT= works for debugging.
  • matrix.mjs exits non-zero on any unexpected red — it's a gate, not a report.
  • Both @rekog/mcp-nest majors coexist via pnpm aliases (rekog-mcp-nest-v1/v2); the nest-v2 fixture uses raw JSON Schema tool parameters; the unit suite keeps zod 3 for SDK v1 while fixtures use a zod4 alias.
  • devDep @modelcontextprotocol/sdk set to ^1.30.0.

After merge: add the four lane names + affected to required status checks (skipped runs satisfy required checks, same as the existing integration job).

How did you test this code?

All four lanes green locally and on CI in this PR. nest-v1 16/16 on both levels; nest-v2 35/37 on both levels with exactly the two expected failures; probes 9/9 + 3/3 + 8/8. A red drill (deliberately breaking exception capture in src/) turned the lane red naming the exact cells; reverting restored green. Hygiene: 648 unit tests pass (jest ignores harness/), lint and --frozen-lockfile clean, pnpm pack tarball contains zero harness files.


Created with PostHog Code

@gesh
gesh requested review from a team as code owners August 19, 2026 13:30
@github-actions

Copy link
Copy Markdown
Contributor

Replay incident risk check

This diff touches code involved in past incidents. This is a heads-up, not a verdict: read the matched sections of INCIDENTS.md and answer their review questions before merging.

For a judgment on whether this diff has the same failure mode, run the replay-incident-risk skill locally: open a Claude session in the repo root and ask it to review your diff with that skill. Or run node .agents/skills/replay-incident-risk/check.mjs and answer the review questions for each matched class yourself.

Matched 1 past incident pattern(s) (diff vs origin/main):

## Release and delivery channel integrity [path match]
The Nov 2025 supply-chain compromise started with a pull_request_target workflow checking out PR-author code. Never reintroduce that pattern, don't add package lifecycle scripts, and keep publish credentials on OIDC trusted publishing.
  Touched paths:
    - .github/workflows/mcp-harness.yml
  Read: .agents/skills/replay-incident-risk/INCIDENTS.md#class-7-release-and-delivery-channel-integrity

This check is advisory. It flags resemblance to past incidents, not correctness.
For a judgment pass on whether this diff has the same failure mode, run the
`replay-incident-risk` skill in a Claude session from the repo root, or answer the
review questions in the matched sections of .agents/skills/replay-incident-risk/INCIDENTS.md yourself.

@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor
⚠️ `@posthog/mcp` is modified but this PR has no changeset

This is informational — the PR is not blocked. Click the triangle above to collapse, or push a fix and this comment will auto-delete.

Modified in this PR but no changeset added:

  • @posthog/mcp

If this change should ship, run pnpm changeset and select a bump level.
If it isn't user-facing (refactor with no behavior change, internal tooling, generated files), no action needed.

@gesh
gesh marked this pull request as draft August 19, 2026 13:31
@greptile-apps

greptile-apps Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor
Prompt To Fix All With AI
### Issue 1
packages/mcp/harness/dual-era/matrix.mjs:133-138
**Client crashes become passing rows**

When the v1 client exits before emitting valid JSON, `runClient` converts the parse failure into an empty `results` object. The reconciliation treats every missing assertion as not applicable, so the SDK v1 lane can exit successfully without completing its integration assertions.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "ci(mcp): move the integration harness in..." | Re-trigger Greptile

Comment thread packages/mcp/harness/dual-era/matrix.mjs Outdated
@gesh
gesh force-pushed the posthog-code/mcp-harness-ci branch from a36a206 to a3ef207 Compare August 19, 2026 13:35
@gesh gesh changed the title ci(mcp): move the integration harness in-repo and gate PRs with it ci(mcp): add integration test setup validating @posthog/mcp across MCP SDK v1 and v2 Aug 19, 2026
…P SDK v1 and v2

Implements an integration test harness for @posthog/mcp at
packages/mcp/harness/ and a blocking "MCP harness" CI workflow that runs on
every PR affecting the package, with four lanes: "sdk v1", "sdk v2",
"nest mcp sdk v1", "nest mcp sdk v2".

The harness drives real MCP servers over real HTTP (raw JSON-RPC, not the SDK
client) instrumented with the workspace build of @posthog/mcp, and asserts the
core capture surface — tool calls, errors, intent, sessions with
conversation-id on/off — plus identity and safety columns, across both SDK
majors, both protocol eras, high/low-level instrumentation, and the
NestJS/@rekog/mcp-nest customer stacks.

Design points:
- Fixtures import @posthog/mcp via Node self-reference, so they always test
  the package's own dist; nothing ships (harness/ is outside "files").
- Servers bind ephemeral ports (PORT=0) and announce them on stdout, so rows
  cannot collide; explicit PORT= still works for single-cell debugging.
- Known-broken cells are pinned in exact-match expected-failures.json
  snapshots: a regression fails the lane, and so does an unexpected
  improvement, so every moved cell is a deliberate diff.
- Three probes cover orderings the matrix cannot reach: handlers registered
  after instrument(), a failure on the first call of a conversation, and a
  two-page tool catalogue whose envelope must survive the listing wrapper.
- Both @rekog/mcp-nest majors coexist via pnpm aliases (rekog-mcp-nest-v1/v2);
  the nest-v2 fixture uses raw JSON Schema tool parameters; the unit suite
  keeps real-name zod 3 for SDK v1 while fixtures use a zod4 alias.
- No secrets and no network (in-process recorder), so the workflow also runs
  on fork PRs.
- devDep @modelcontextprotocol/sdk set to ^1.30.0.

Verified locally and on CI: v1 matrix rows all-green, v2 matrix matching its
snapshot, probes 9/9 + 3/3 + 8/8, nest-v1 16/16 on both levels, nest-v2 35/37
on both levels with exactly the two expected failures.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330
@gesh
gesh force-pushed the posthog-code/mcp-harness-ci branch from a3ef207 to c529079 Compare August 19, 2026 13:40
@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Size Change: -1.79 kB (-0.01%)

Total Size: 19.9 MB

📦 View Changed
Filename Size Change
packages/browser/dist/array.full.es5.js 457 kB -98 B (-0.02%)
packages/browser/dist/array.full.js 580 kB -92 B (-0.02%)
packages/browser/dist/array.full.no-********.js 627 kB -92 B (-0.01%)
packages/browser/dist/array.js 256 kB -92 B (-0.04%)
packages/browser/dist/array.no-********.js 287 kB -92 B (-0.03%)
packages/browser/dist/default-extensions.js 254 kB -92 B (-0.04%)
packages/browser/dist/main.js 260 kB -92 B (-0.04%)
packages/browser/dist/module.full.js 583 kB -92 B (-0.02%)
packages/browser/dist/module.full.no-********.js 629 kB -92 B (-0.01%)
packages/browser/dist/module.js 260 kB -92 B (-0.04%)
packages/browser/dist/module.no-********.js 291 kB -92 B (-0.03%)
packages/browser/dist/module.slim.js 132 kB -92 B (-0.07%)
packages/browser/dist/module.slim.no-********.js 143 kB -92 B (-0.06%)
packages/convex/dist/client/index.js 14.6 kB -214 B (-1.45%)
packages/core/dist/posthog-core.js 49.2 kB -25 B (-0.05%)
packages/core/dist/posthog-core.mjs 43.6 kB -25 B (-0.06%)
packages/node/dist/client.js 58.5 kB -162 B (-0.28%)
packages/node/dist/client.mjs 55.1 kB -162 B (-0.29%)
ℹ️ View Unchanged
Filename Size Change
packages/ai/dist/anthropic/index.cjs 41.3 kB 0 B
packages/ai/dist/anthropic/index.mjs 41 kB 0 B
packages/ai/dist/gemini/index.cjs 40.9 kB 0 B
packages/ai/dist/gemini/index.mjs 40.8 kB 0 B
packages/ai/dist/index.cjs 63.4 kB 0 B
packages/ai/dist/index.mjs 63.3 kB 0 B
packages/ai/dist/langchain/index.cjs 42.5 kB 0 B
packages/ai/dist/langchain/index.mjs 42.4 kB 0 B
packages/ai/dist/openai-agents/index.cjs 31.8 kB 0 B
packages/ai/dist/openai-agents/index.mjs 31.7 kB 0 B
packages/ai/dist/openai/index.cjs 111 kB 0 B
packages/ai/dist/openai/index.mjs 110 kB 0 B
packages/ai/dist/otel/index.cjs 18.4 kB 0 B
packages/ai/dist/otel/index.mjs 18.3 kB 0 B
packages/ai/dist/vercel/index.cjs 53.5 kB 0 B
packages/ai/dist/vercel/index.mjs 53.5 kB 0 B
packages/browser-common/dist/client.js 603 B 0 B
packages/browser-common/dist/client.mjs 0 B 0 B 🆕
packages/browser-common/dist/config.js 1.43 kB 0 B
packages/browser-common/dist/config.mjs 223 B 0 B
packages/browser-common/dist/constants.js 1.66 kB 0 B
packages/browser-common/dist/constants.mjs 219 B 0 B
packages/browser-common/dist/disposable.js 1.63 kB 0 B
packages/browser-common/dist/disposable.mjs 386 B 0 B
packages/browser-common/dist/extension-runtime.js 3 kB 0 B
packages/browser-common/dist/extension-runtime.mjs 1.76 kB 0 B
packages/browser-common/dist/extension.js 603 B 0 B
packages/browser-common/dist/extension.mjs 0 B 0 B 🆕
packages/browser-common/dist/index.js 3.08 kB 0 B
packages/browser-common/dist/index.mjs 170 B 0 B
packages/browser-common/dist/persistence.js 603 B 0 B
packages/browser-common/dist/persistence.mjs 0 B 0 B 🆕
packages/browser-common/dist/pubsub.js 2.23 kB 0 B
packages/browser-common/dist/pubsub.mjs 993 B 0 B
packages/browser-common/dist/types/compression.js 1.28 kB 0 B
packages/browser-common/dist/types/compression.mjs 93 B 0 B
packages/browser-common/dist/types/index.js 4.11 kB 0 B
packages/browser-common/dist/types/index.mjs 144 B 0 B
packages/browser-common/dist/types/network-recording.js 603 B 0 B
packages/browser-common/dist/types/network-recording.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/remote-config.js 603 B 0 B
packages/browser-common/dist/types/remote-config.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/surveys.js 4.55 kB 0 B
packages/browser-common/dist/types/surveys.mjs 2.17 kB 0 B
packages/browser-common/dist/utils/array-at-********.js 628 B 0 B
packages/browser-common/dist/utils/array-at-********.mjs 425 B 0 B
packages/browser-common/dist/utils/autocapture-utils.js 24 kB 0 B
packages/browser-common/dist/utils/autocapture-utils.mjs 18.5 kB 0 B
packages/browser-common/dist/utils/blocked-uas.js 2.1 kB 0 B
packages/browser-common/dist/utils/blocked-uas.mjs 598 B 0 B
packages/browser-common/dist/utils/cookie-utils.js 1.89 kB 0 B
packages/browser-common/dist/utils/cookie-utils.mjs 673 B 0 B
packages/browser-common/dist/utils/device-model-utils.js 1.98 kB 0 B
packages/browser-common/dist/utils/device-model-utils.mjs 678 B 0 B
packages/browser-common/dist/utils/element-utils.js 2.46 kB 0 B
packages/browser-common/dist/utils/element-utils.mjs 804 B 0 B
packages/browser-common/dist/utils/elements-chain-utils.js 2.77 kB 0 B
packages/browser-common/dist/utils/elements-chain-utils.mjs 1.23 kB 0 B
packages/browser-common/dist/utils/encode-utils.js 1.4 kB 0 B
packages/browser-common/dist/utils/encode-utils.mjs 205 B 0 B
packages/browser-common/dist/utils/event-utils.js 15.7 kB 0 B
packages/browser-common/dist/utils/event-utils.mjs 10 kB 0 B
packages/browser-common/dist/utils/general-utils.js 7.31 kB 0 B
packages/browser-common/dist/utils/general-utils.mjs 4.49 kB 0 B
packages/browser-common/dist/utils/globals.js 2.78 kB 0 B
packages/browser-common/dist/utils/globals.mjs 860 B 0 B
packages/browser-common/dist/utils/logger.js 3.4 kB 0 B
packages/browser-common/dist/utils/logger.mjs 1.61 kB 0 B
packages/browser-common/dist/utils/matcher-utils.js 2.85 kB 0 B
packages/browser-common/dist/utils/matcher-utils.mjs 1.33 kB 0 B
packages/browser-common/dist/utils/property-utils.js 5.38 kB 0 B
packages/browser-common/dist/utils/property-utils.mjs 3.34 kB 0 B
packages/browser-common/dist/utils/prototype-utils.js 3.51 kB 0 B
packages/browser-common/dist/utils/prototype-utils.mjs 1.86 kB 0 B
packages/browser-common/dist/utils/regex-utils.js 1.68 kB 0 B
packages/browser-common/dist/utils/regex-utils.mjs 378 B 0 B
packages/browser-common/dist/utils/request-utils.js 6.73 kB 0 B
packages/browser-common/dist/utils/request-utils.mjs 4.19 kB 0 B
packages/browser-common/dist/utils/simple-event-emitter.js 1.76 kB 0 B
packages/browser-common/dist/utils/simple-event-emitter.mjs 553 B 0 B
packages/browser-common/dist/utils/stylesheet-loader.js 2.13 kB 0 B
packages/browser-common/dist/utils/stylesheet-loader.mjs 823 B 0 B
packages/browser-common/dist/utils/type-utils.js 1.59 kB 0 B
packages/browser-common/dist/utils/type-utils.mjs 267 B 0 B
packages/browser-common/dist/utils/url-targeting-utils.js 2.35 kB 0 B
packages/browser-common/dist/utils/url-targeting-utils.mjs 863 B 0 B
packages/browser-common/dist/utils/uuidv7.js 6.66 kB 0 B
packages/browser-common/dist/utils/uuidv7.mjs 5.18 kB 0 B
packages/browser/dist/all-external-dependencies.js 361 kB 0 B
packages/browser/dist/conversations.js 68.2 kB 0 B
packages/browser/dist/crisp-chat-integration.js 2.03 kB 0 B
packages/browser/dist/customizations.full.js 15.9 kB 0 B
packages/browser/dist/customizations.js 15.8 kB 0 B
packages/browser/dist/dead-clicks-autocapture.js 18.2 kB 0 B
packages/browser/dist/element-inference.js 5.62 kB 0 B
packages/browser/dist/exception-autocapture.js 13.6 kB 0 B
packages/browser/dist/extension-bundles.js 139 kB 0 B
packages/browser/dist/external-scripts-loader.js 3.57 kB 0 B
packages/browser/dist/intercom-integration.js 2.08 kB 0 B
packages/browser/dist/lazy-********.js 188 kB 0 B
packages/browser/dist/logs.js 4.41 kB 0 B
packages/browser/dist/posthog-********.js 187 kB 0 B
packages/browser/dist/product-tours-preview.js 82.4 kB 0 B
packages/browser/dist/product-tours.js 123 kB 0 B
packages/browser/dist/recorder-v2.js 124 kB 0 B
packages/browser/dist/recorder.js 124 kB 0 B
packages/browser/dist/rrweb-plugin-console-record.js 6.99 kB 0 B
packages/browser/dist/rrweb-types.js 2.33 kB 0 B
packages/browser/dist/rrweb.js 316 kB 0 B
packages/browser/dist/surveys-preview.js 80.3 kB 0 B
packages/browser/dist/surveys.js 99.9 kB 0 B
packages/browser/dist/tracing-headers.js 3.71 kB 0 B
packages/browser/dist/web-vitals-soft-navs.js 9.9 kB 0 B
packages/browser/dist/web-vitals-with-attribution-soft-navs.js 16.2 kB 0 B
packages/browser/dist/web-vitals-with-attribution.js 12.5 kB 0 B
packages/browser/dist/web-vitals.js 6.91 kB 0 B
packages/browser/react/dist/esm/index.js 21.1 kB 0 B
packages/browser/react/dist/esm/slim/index.js 17.5 kB 0 B
packages/browser/react/dist/esm/surveys/index.js 4.75 kB 0 B
packages/browser/react/dist/umd/index.js 24.3 kB 0 B
packages/browser/react/dist/umd/slim/index.js 20.3 kB 0 B
packages/browser/react/dist/umd/surveys/index.js 5.52 kB 0 B
packages/convex/dist/client/feature-flags/crypto.js 461 B 0 B
packages/convex/dist/client/feature-flags/evaluator.js 16.5 kB 0 B
packages/convex/dist/client/feature-flags/index.js 196 B 0 B
packages/convex/dist/client/feature-flags/match-********.js 15.3 kB 0 B
packages/convex/dist/client/feature-flags/types.js 44 B 0 B
packages/convex/dist/component/_generated/api.js 712 B 0 B
packages/convex/dist/component/_generated/component.js 212 B 0 B
packages/convex/dist/component/_generated/dataModel.js 230 B 0 B
packages/convex/dist/component/_generated/server.js 3.74 kB 0 B
packages/convex/dist/component/convex.config.js 1.66 kB 0 B
packages/convex/dist/component/crons.js 969 B 0 B
packages/convex/dist/component/lib.js 24.8 kB 0 B
packages/convex/dist/component/schema.js 1.17 kB 0 B
packages/convex/dist/component/version.js 67 B 0 B
packages/core/dist/cookie.js 5.34 kB 0 B
packages/core/dist/cookie.mjs 3.12 kB 0 B
packages/core/dist/error-tracking/chunk-ids.js 2.54 kB 0 B
packages/core/dist/error-tracking/chunk-ids.mjs 1.31 kB 0 B
packages/core/dist/error-tracking/coercers/dom-exception-coercer.js 2.3 kB 0 B
packages/core/dist/error-tracking/coercers/dom-exception-coercer.mjs 993 B 0 B
packages/core/dist/error-tracking/coercers/error-coercer.js 2.13 kB 0 B
packages/core/dist/error-tracking/coercers/error-coercer.mjs 888 B 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.js 2.35 kB 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.mjs 1.05 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.js 1.82 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.mjs 548 B 0 B
packages/core/dist/error-tracking/coercers/index.js 6.79 kB 0 B
packages/core/dist/error-tracking/coercers/index.mjs 326 B 0 B
packages/core/dist/error-tracking/coercers/object-coercer.js 4.04 kB 0 B
packages/core/dist/error-tracking/coercers/object-coercer.mjs 2.53 kB 0 B
packages/core/dist/error-tracking/coercers/primitive-coercer.js 1.67 kB 0 B
packages/core/dist/error-tracking/coercers/primitive-coercer.mjs 419 B 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.js 2.59 kB 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.mjs 1.25 kB 0 B
packages/core/dist/error-tracking/coercers/string-coercer.js 2.01 kB 0 B
packages/core/dist/error-tracking/coercers/string-coercer.mjs 820 B 0 B
packages/core/dist/error-tracking/coercers/utils.js 2.06 kB 0 B
packages/core/dist/error-tracking/coercers/utils.mjs 716 B 0 B
packages/core/dist/error-tracking/error-properties-builder.js 5.56 kB 0 B
packages/core/dist/error-tracking/error-properties-builder.mjs 4.23 kB 0 B
packages/core/dist/error-tracking/exception-steps.js 6.01 kB 0 B
packages/core/dist/error-tracking/exception-steps.mjs 3.84 kB 0 B
packages/core/dist/error-tracking/index.js 5.32 kB 0 B
packages/core/dist/error-tracking/index.mjs 222 B 0 B
packages/core/dist/error-tracking/parsers/base.js 2 kB 0 B
packages/core/dist/error-tracking/parsers/base.mjs 627 B 0 B
packages/core/dist/error-tracking/parsers/chrome.js 2.73 kB 0 B
packages/core/dist/error-tracking/parsers/chrome.mjs 1.32 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.js 2.47 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.mjs 1.13 kB 0 B
packages/core/dist/error-tracking/parsers/index.js 4.75 kB 0 B
packages/core/dist/error-tracking/parsers/index.mjs 2.1 kB 0 B
packages/core/dist/error-tracking/parsers/node.js 4.21 kB 0 B
packages/core/dist/error-tracking/parsers/node.mjs 2.95 kB 0 B
packages/core/dist/error-tracking/parsers/opera.js 2.26 kB 0 B
packages/core/dist/error-tracking/parsers/opera.mjs 746 B 0 B
packages/core/dist/error-tracking/parsers/safari.js 1.88 kB 0 B
packages/core/dist/error-tracking/parsers/safari.mjs 574 B 0 B
packages/core/dist/error-tracking/parsers/winjs.js 1.72 kB 0 B
packages/core/dist/error-tracking/parsers/winjs.mjs 426 B 0 B
packages/core/dist/error-tracking/release.js 1.42 kB 0 B
packages/core/dist/error-tracking/release.mjs 203 B 0 B
packages/core/dist/error-tracking/types.js 1.33 kB 0 B
packages/core/dist/error-tracking/types.mjs 131 B 0 B
packages/core/dist/error-tracking/utils.js 1.8 kB 0 B
packages/core/dist/error-tracking/utils.mjs 604 B 0 B
packages/core/dist/eventemitter.js 1.78 kB 0 B
packages/core/dist/eventemitter.mjs 571 B 0 B
packages/core/dist/featureFlagUtils.js 8.52 kB 0 B
packages/core/dist/featureFlagUtils.mjs 5.48 kB 0 B
packages/core/dist/gzip.js 5.73 kB 0 B
packages/core/dist/gzip.mjs 3.85 kB 0 B
packages/core/dist/index.js 19 kB 0 B
packages/core/dist/index.mjs 1.96 kB 0 B
packages/core/dist/logs/index.js 10.5 kB 0 B
packages/core/dist/logs/index.mjs 8.87 kB 0 B
packages/core/dist/logs/logs-utils.js 7.01 kB 0 B
packages/core/dist/logs/logs-utils.mjs 4.85 kB 0 B
packages/core/dist/logs/types.js 603 B 0 B
packages/core/dist/logs/types.mjs 0 B 0 B 🆕
packages/core/dist/metrics/config.js 1.95 kB 0 B
packages/core/dist/metrics/config.mjs 735 B 0 B
packages/core/dist/metrics/index.js 14.4 kB 0 B
packages/core/dist/metrics/index.mjs 12 kB 0 B
packages/core/dist/metrics/metrics-utils.js 3.86 kB 0 B
packages/core/dist/metrics/metrics-utils.mjs 1.97 kB 0 B
packages/core/dist/metrics/types.js 603 B 0 B
packages/core/dist/metrics/types.mjs 0 B 0 B 🆕
packages/core/dist/posthog-core-stateless.js 48 kB 0 B
packages/core/dist/posthog-core-stateless.mjs 44.9 kB 0 B
packages/core/dist/surveys/activation.js 2.2 kB 0 B
packages/core/dist/surveys/activation.mjs 572 B 0 B
packages/core/dist/surveys/events.js 4.21 kB 0 B
packages/core/dist/surveys/events.mjs 1.99 kB 0 B
packages/core/dist/surveys/index.js 5.73 kB 0 B
packages/core/dist/surveys/index.mjs 1.21 kB 0 B
packages/core/dist/surveys/keys.js 1.7 kB 0 B
packages/core/dist/surveys/keys.mjs 350 B 0 B
packages/core/dist/surveys/translations.js 9.09 kB 0 B
packages/core/dist/surveys/translations.mjs 6.83 kB 0 B
packages/core/dist/surveys/validation.js 3.06 kB 0 B
packages/core/dist/surveys/validation.mjs 1.51 kB 0 B
packages/core/dist/testing/index.js 2.93 kB 0 B
packages/core/dist/testing/index.mjs 79 B 0 B
packages/core/dist/testing/PostHogCoreTestClient.js 3.24 kB 0 B
packages/core/dist/testing/PostHogCoreTestClient.mjs 1.83 kB 0 B
packages/core/dist/testing/test-utils.js 2.83 kB 0 B
packages/core/dist/testing/test-utils.mjs 1.15 kB 0 B
packages/core/dist/tracing-headers.js 3.38 kB 0 B
packages/core/dist/tracing-headers.mjs 2.08 kB 0 B
packages/core/dist/types.js 8.35 kB 0 B
packages/core/dist/types.mjs 5.23 kB 0 B
packages/core/dist/utils/bot-detection.js 3.28 kB 0 B
packages/core/dist/utils/bot-detection.mjs 1.95 kB 0 B
packages/core/dist/utils/browser-utils.js 1.48 kB 0 B
packages/core/dist/utils/browser-utils.mjs 182 B 0 B
packages/core/dist/utils/bucketed-rate-limiter.js 4.23 kB 0 B
packages/core/dist/utils/bucketed-rate-limiter.mjs 2.22 kB 0 B
packages/core/dist/utils/index.js 16.2 kB 0 B
packages/core/dist/utils/index.mjs 3.01 kB 0 B
packages/core/dist/utils/json-utils.js 5.48 kB 0 B
packages/core/dist/utils/json-utils.mjs 4.29 kB 0 B
packages/core/dist/utils/logger.js 2.58 kB 0 B
packages/core/dist/utils/logger.mjs 1.29 kB 0 B
packages/core/dist/utils/number-utils.js 3.32 kB 0 B
packages/core/dist/utils/number-utils.mjs 1.68 kB 0 B
packages/core/dist/utils/promise-queue.js 2.48 kB 0 B
packages/core/dist/utils/promise-queue.mjs 1.25 kB 0 B
packages/core/dist/utils/string-utils.js 3.73 kB 0 B
packages/core/dist/utils/string-utils.mjs 1.97 kB 0 B
packages/core/dist/utils/type-utils.js 7.43 kB 0 B
packages/core/dist/utils/type-utils.mjs 3.28 kB 0 B
packages/core/dist/utils/user-agent-utils.js 17.7 kB 0 B
packages/core/dist/utils/user-agent-utils.mjs 14.2 kB 0 B
packages/core/dist/vendor/uuidv7.js 8.29 kB 0 B
packages/core/dist/vendor/uuidv7.mjs 6.72 kB 0 B
packages/mcp/dist/extensions/analytics-parameters.js 4.57 kB 0 B
packages/mcp/dist/extensions/analytics-parameters.mjs 2.54 kB 0 B
packages/mcp/dist/extensions/capture.js 3.85 kB 0 B
packages/mcp/dist/extensions/capture.mjs 2.49 kB 0 B
packages/mcp/dist/extensions/client-********.js 6.23 kB 0 B
packages/mcp/dist/extensions/client-********.mjs 3.71 kB 0 B
packages/mcp/dist/extensions/compatibility.js 5.36 kB 0 B
packages/mcp/dist/extensions/compatibility.mjs 3.4 kB 0 B
packages/mcp/dist/extensions/constants.js 4.77 kB 0 B
packages/mcp/dist/extensions/constants.mjs 2.53 kB 0 B
packages/mcp/dist/extensions/context-parameters.js 4.01 kB 0 B
packages/mcp/dist/extensions/context-parameters.mjs 2.12 kB 0 B
packages/mcp/dist/extensions/conversation-id.js 6.31 kB 0 B
packages/mcp/dist/extensions/conversation-id.mjs 3.58 kB 0 B
packages/mcp/dist/extensions/detect.js 3.77 kB 0 B
packages/mcp/dist/extensions/detect.mjs 1.49 kB 0 B
packages/mcp/dist/extensions/event-types.js 1.68 kB 0 B
packages/mcp/dist/extensions/event-types.mjs 459 B 0 B
packages/mcp/dist/extensions/exceptions.js 2.57 kB 0 B
packages/mcp/dist/extensions/exceptions.mjs 1.19 kB 0 B
packages/mcp/dist/extensions/headers.js 1.98 kB 0 B
packages/mcp/dist/extensions/headers.mjs 643 B 0 B
packages/mcp/dist/extensions/ids.js 2.01 kB 0 B
packages/mcp/dist/extensions/ids.mjs 637 B 0 B
packages/mcp/dist/extensions/instrument-********.js 4.79 kB 0 B
packages/mcp/dist/extensions/instrument-********.mjs 3.06 kB 0 B
packages/mcp/dist/extensions/instrument-highlevel.js 12.2 kB 0 B
packages/mcp/dist/extensions/instrument-highlevel.mjs 9.86 kB 0 B
packages/mcp/dist/extensions/instrumentation.js 26.5 kB 0 B
packages/mcp/dist/extensions/instrumentation.mjs 21.1 kB 0 B
packages/mcp/dist/extensions/intent.js 3.2 kB 0 B
packages/mcp/dist/extensions/intent.mjs 1.64 kB 0 B
packages/mcp/dist/extensions/internal.js 7.54 kB 0 B
packages/mcp/dist/extensions/internal.mjs 5.23 kB 0 B
packages/mcp/dist/extensions/lib-********.js 1.6 kB 0 B
packages/mcp/dist/extensions/lib-********.mjs 267 B 0 B
packages/mcp/dist/extensions/logger.js 1.72 kB 0 B
packages/mcp/dist/extensions/logger.mjs 380 B 0 B
packages/mcp/dist/extensions/mcp-********.js 4.68 kB 0 B
packages/mcp/dist/extensions/mcp-********.mjs 3.3 kB 0 B
packages/mcp/dist/extensions/mcp-sdk-compat.js 5.04 kB 0 B
packages/mcp/dist/extensions/mcp-sdk-compat.mjs 2.9 kB 0 B
packages/mcp/dist/extensions/output-instructions.js 6.11 kB 0 B
packages/mcp/dist/extensions/output-instructions.mjs 3.91 kB 0 B
packages/mcp/dist/extensions/posthog-events.js 11.4 kB 0 B
packages/mcp/dist/extensions/posthog-events.mjs 7.78 kB 0 B
packages/mcp/dist/extensions/posthog-mcp.js 6.94 kB 0 B
packages/mcp/dist/extensions/posthog-mcp.mjs 4.93 kB 0 B
packages/mcp/dist/extensions/request-headers.js 2.17 kB 0 B
packages/mcp/dist/extensions/request-headers.mjs 963 B 0 B
packages/mcp/dist/extensions/sanitization.js 4.49 kB 0 B
packages/mcp/dist/extensions/sanitization.mjs 2.86 kB 0 B
packages/mcp/dist/extensions/session-token.js 5.39 kB 0 B
packages/mcp/dist/extensions/session-token.mjs 3.62 kB 0 B
packages/mcp/dist/extensions/session.js 6.64 kB 0 B
packages/mcp/dist/extensions/session.mjs 4.12 kB 0 B
packages/mcp/dist/extensions/sink.js 4.37 kB 0 B
packages/mcp/dist/extensions/sink.mjs 2.67 kB 0 B
packages/mcp/dist/extensions/tools.js 3.51 kB 0 B
packages/mcp/dist/extensions/tools.mjs 1.63 kB 0 B
packages/mcp/dist/extensions/tracing-helpers.js 2.41 kB 0 B
packages/mcp/dist/extensions/tracing-helpers.mjs 772 B 0 B
packages/mcp/dist/extensions/transport-********.js 2.91 kB 0 B
packages/mcp/dist/extensions/transport-********.mjs 1.09 kB 0 B
packages/mcp/dist/extensions/truncation.js 11.4 kB 0 B
packages/mcp/dist/extensions/truncation.mjs 9.71 kB 0 B
packages/mcp/dist/index.js 8.78 kB 0 B
packages/mcp/dist/index.mjs 4.96 kB 0 B
packages/mcp/dist/types.js 603 B 0 B
packages/mcp/dist/types.mjs 0 B 0 B 🆕
packages/mcp/dist/version.js 1.21 kB 0 B
packages/mcp/dist/version.mjs 46 B 0 B
packages/next/dist/app/PostHogProvider.js 5.37 kB 0 B
packages/next/dist/client/ClientPostHogProvider.js 2.28 kB 0 B
packages/next/dist/client/hooks.js 172 B 0 B
packages/next/dist/client/PostHogPageView.js 1.76 kB 0 B
packages/next/dist/index.client.js 401 B 0 B
packages/next/dist/index.edge.js 570 B 0 B
packages/next/dist/index.js 554 B 0 B
packages/next/dist/index.react-server.js 420 B 0 B
packages/next/dist/middleware/postHogMiddleware.js 4.08 kB 0 B
packages/next/dist/pages.client.js 225 B 0 B
packages/next/dist/pages.edge.js 294 B 0 B
packages/next/dist/pages.js 347 B 0 B
packages/next/dist/pages/createPostHog.js 1.48 kB 0 B
packages/next/dist/pages/getServerSidePostHog.js 1.48 kB 0 B
packages/next/dist/pages/PostHogPageView.js 1.55 kB 0 B
packages/next/dist/pages/PostHogProvider.js 1.58 kB 0 B
packages/next/dist/server.edge.js 795 B 0 B
packages/next/dist/server/captureRequestError.js 5.26 kB 0 B
packages/next/dist/server/clientCache.edge.js 305 B 0 B
packages/next/dist/server/clientCache.js 1.54 kB 0 B
packages/next/dist/server/clientCache.node.js 305 B 0 B
packages/next/dist/server/createPostHog.js 1.44 kB 0 B
packages/next/dist/server/getPostHog.js 3.45 kB 0 B
packages/next/dist/server/onRequestError.js 1.39 kB 0 B
packages/next/dist/server/onRequestError.types.js 59 B 0 B
packages/next/dist/shared/browser.js 195 B 0 B
packages/next/dist/shared/config.js 2.23 kB 0 B
packages/next/dist/shared/constants.js 201 B 0 B
packages/next/dist/shared/cookie.js 540 B 0 B
packages/next/dist/shared/identity.js 2.56 kB 0 B
packages/next/dist/shared/tracing-headers.js 2.18 kB 0 B
packages/nextjs-config/dist/config.js 6.1 kB 0 B
packages/nextjs-config/dist/config.mjs 4.53 kB 0 B
packages/nextjs-config/dist/index.js 2.24 kB 0 B
packages/nextjs-config/dist/index.mjs 30 B 0 B
packages/nextjs-config/dist/strip-sourcemap-********.js 3.63 kB 0 B
packages/nextjs-config/dist/strip-sourcemap-********.mjs 1.77 kB 0 B
packages/nextjs-config/dist/utils.js 2.94 kB 0 B
packages/nextjs-config/dist/utils.mjs 826 B 0 B
packages/node/dist/ai-capture/batching.js 2.61 kB 0 B
packages/node/dist/ai-capture/batching.mjs 1.21 kB 0 B
packages/node/dist/ai-capture/routing.js 1.87 kB 0 B
packages/node/dist/ai-capture/routing.mjs 264 B 0 B
packages/node/dist/capture-v1/config.js 1.5 kB 0 B
packages/node/dist/capture-v1/config.mjs 292 B 0 B
packages/node/dist/capture-v1/errors.js 1.89 kB 0 B
packages/node/dist/capture-v1/errors.mjs 694 B 0 B
packages/node/dist/capture-v1/routing.js 1.68 kB 0 B
packages/node/dist/capture-v1/routing.mjs 279 B 0 B
packages/node/dist/capture-v1/sender.js 11.4 kB 0 B
packages/node/dist/capture-v1/sender.mjs 9.94 kB 0 B
packages/node/dist/capture-v1/transform.js 5.13 kB 0 B
packages/node/dist/capture-v1/transform.mjs 3.65 kB 0 B
packages/node/dist/capture-v1/types.js 603 B 0 B
packages/node/dist/capture-v1/types.mjs 0 B 0 B 🆕
packages/node/dist/entrypoints/index.edge.js 3.85 kB 0 B
packages/node/dist/entrypoints/index.edge.mjs 720 B 0 B
packages/node/dist/entrypoints/index.node.js 6.05 kB 0 B
packages/node/dist/entrypoints/index.node.mjs 1.43 kB 0 B
packages/node/dist/entrypoints/nestjs.js 2.31 kB 0 B
packages/node/dist/entrypoints/nestjs.mjs 42 B 0 B
packages/node/dist/experimental.js 870 B 0 B
packages/node/dist/experimental.mjs 267 B 0 B
packages/node/dist/exports.js 6.75 kB 0 B
packages/node/dist/exports.mjs 582 B 0 B
packages/node/dist/extensions/context/context.js 2.13 kB 0 B
packages/node/dist/extensions/context/context.mjs 863 B 0 B
packages/node/dist/extensions/context/types.js 603 B 0 B
packages/node/dist/extensions/context/types.mjs 0 B 0 B 🆕
packages/node/dist/extensions/error-tracking/autocapture.js 5.19 kB 0 B
packages/node/dist/extensions/error-tracking/autocapture.mjs 3.62 kB 0 B
packages/node/dist/extensions/error-tracking/index.js 4.38 kB 0 B
packages/node/dist/extensions/error-tracking/index.mjs 3.17 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.js 11.6 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs 9.64 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/module.node.js 2.78 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/module.node.mjs 1.45 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.js 1.97 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs 624 B 0 B
packages/node/dist/extensions/express.js 4.97 kB 0 B
packages/node/dist/extensions/express.mjs 2.78 kB 0 B
packages/node/dist/extensions/feature-flags/cache.js 603 B 0 B
packages/node/dist/extensions/feature-flags/cache.mjs 0 B 0 B 🆕
packages/node/dist/extensions/feature-flags/crypto.js 1.57 kB 0 B
packages/node/dist/extensions/feature-flags/crypto.mjs 395 B 0 B
packages/node/dist/extensions/feature-flags/feature-flags.js 42.7 kB 0 B
packages/node/dist/extensions/feature-flags/feature-flags.mjs 40.6 kB 0 B
packages/node/dist/extensions/nestjs.js 5.62 kB 0 B
packages/node/dist/extensions/nestjs.mjs 3.42 kB 0 B
packages/node/dist/extensions/sentry-integration.js 4.88 kB 0 B
packages/node/dist/extensions/sentry-integration.mjs 3.36 kB 0 B
packages/node/dist/extensions/tracing-headers.js 3.31 kB 0 B
packages/node/dist/extensions/tracing-headers.mjs 1.53 kB 0 B
packages/node/dist/extensions/url-utils.js 2.22 kB 0 B
packages/node/dist/extensions/url-utils.mjs 785 B 0 B
packages/node/dist/feature-flag-evaluations.js 6.08 kB 0 B
packages/node/dist/feature-flag-evaluations.mjs 4.74 kB 0 B
packages/node/dist/gzip.node.js 1.77 kB 0 B
packages/node/dist/gzip.node.mjs 450 B 0 B
packages/node/dist/storage-memory.js 1.52 kB 0 B
packages/node/dist/storage-memory.mjs 297 B 0 B
packages/node/dist/types.js 1.43 kB 0 B
packages/node/dist/types.mjs 224 B 0 B
packages/node/dist/version.js 1.21 kB 0 B
packages/node/dist/version.mjs 46 B 0 B
packages/nuxt/dist/module.mjs 5.92 kB 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagEnabled.js 566 B 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagPayload.js 690 B 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagVariantKey.js 591 B 0 B
packages/nuxt/dist/runtime/composables/usePostHog.js 128 B 0 B
packages/nuxt/dist/runtime/nitro-plugin-v2.js 480 B 0 B
packages/nuxt/dist/runtime/nitro-plugin-v3.js 574 B 0 B
packages/nuxt/dist/runtime/nitro-plugin.js 1.03 kB 0 B
packages/nuxt/dist/runtime/vue-plugin.js 1.13 kB 0 B
packages/openfeature-node-provider/dist/index.js 1.76 kB 0 B
packages/openfeature-node-provider/dist/index.mjs 190 B 0 B
packages/openfeature-node-provider/dist/mapping.js 5.32 kB 0 B
packages/openfeature-node-provider/dist/mapping.mjs 3.21 kB 0 B
packages/openfeature-node-provider/dist/provider.js 3.99 kB 0 B
packages/openfeature-node-provider/dist/provider.mjs 2.6 kB 0 B
packages/openfeature-web-provider/dist/index.js 1.75 kB 0 B
packages/openfeature-web-provider/dist/index.mjs 184 B 0 B
packages/openfeature-web-provider/dist/mapping.js 5.29 kB 0 B
packages/openfeature-web-provider/dist/mapping.mjs 3.18 kB 0 B
packages/openfeature-web-provider/dist/provider.js 4.41 kB 0 B
packages/openfeature-web-provider/dist/provider.mjs 3.06 kB 0 B
packages/plugin-utils/dist/chunk-ids.js 3.86 kB 0 B
packages/plugin-utils/dist/chunk-ids.mjs 2.05 kB 0 B
packages/plugin-utils/dist/cli.js 4.37 kB 0 B
packages/plugin-utils/dist/cli.mjs 2.72 kB 0 B
packages/plugin-utils/dist/config.js 3.5 kB 0 B
packages/plugin-utils/dist/config.mjs 2.26 kB 0 B
packages/plugin-utils/dist/index.js 4.98 kB 0 B
packages/plugin-utils/dist/index.mjs 250 B 0 B
packages/plugin-utils/dist/spawn-local.js 3.08 kB 0 B
packages/plugin-utils/dist/spawn-local.mjs 1.66 kB 0 B
packages/plugin-utils/dist/utils.js 3.27 kB 0 B
packages/plugin-utils/dist/utils.mjs 1.3 kB 0 B
packages/react-native/dist/autocapture.js 6.27 kB 0 B
packages/react-native/dist/error-tracking/index.js 9.97 kB 0 B
packages/react-native/dist/error-tracking/utils.js 2.58 kB 0 B
packages/react-native/dist/frameworks/wix-navigation.js 1.3 kB 0 B
packages/react-native/dist/hooks/useFeatureFlag.js 1.86 kB 0 B
packages/react-native/dist/hooks/useFeatureFlagResult.js 983 B 0 B
packages/react-native/dist/hooks/useFeatureFlags.js 941 B 0 B
packages/react-native/dist/hooks/useNavigationTracker.js 2.45 kB 0 B
packages/react-native/dist/hooks/usePostHog.js 544 B 0 B
packages/react-native/dist/hooks/utils.js 988 B 0 B
packages/react-native/dist/index.js 4.33 kB 0 B
packages/react-native/dist/logs-********.js 3.66 kB 0 B
packages/react-native/dist/native-deps.js 8.73 kB 0 B
packages/react-native/dist/optional/OptionalAsyncStorage.js 299 B 0 B
packages/react-native/dist/optional/OptionalExpoApplication.js 377 B 0 B
packages/react-native/dist/optional/OptionalExpoDevice.js 347 B 0 B
packages/react-native/dist/optional/OptionalExpoFileSystem.js 386 B 0 B
packages/react-native/dist/optional/OptionalExpoFileSystemLegacy.js 423 B 0 B
packages/react-native/dist/optional/OptionalExpoLocalization.js 383 B 0 B
packages/react-native/dist/optional/OptionalPlugin.js 569 B 0 B
packages/react-native/dist/optional/OptionalReactNativeDeviceInfo.js 415 B 0 B
packages/react-native/dist/optional/OptionalReactNativeLocalize.js 303 B 0 B
packages/react-native/dist/optional/OptionalReactNativeNavigation.js 415 B 0 B
packages/react-native/dist/optional/OptionalReactNativeNavigationWix.js 443 B 0 B
packages/react-native/dist/optional/OptionalReactNativeSafeArea.js 644 B 0 B
packages/react-native/dist/optional/OptionalReactNativeSvg.js 872 B 0 B
packages/react-native/dist/posthog-rn.js 66.4 kB 0 B
packages/react-native/dist/PostHogContext.js 329 B 0 B
packages/react-native/dist/PostHogErrorBoundary.js 3.19 kB 0 B
packages/react-native/dist/PostHogMaskView.js 1.68 kB 0 B
packages/react-native/dist/PostHogProvider.js 4.55 kB 0 B
packages/react-native/dist/storage.js 5.76 kB 0 B
packages/react-native/dist/surveys/components/BottomSection.js 1.51 kB 0 B
packages/react-native/dist/surveys/components/Cancel.js 968 B 0 B
packages/react-native/dist/surveys/components/ConfirmationMessage.js 1.71 kB 0 B
packages/react-native/dist/surveys/components/IntroMessage.js 1.6 kB 0 B
packages/react-native/dist/surveys/components/QuestionHeader.js 1.43 kB 0 B
packages/react-native/dist/surveys/components/QuestionTypes.js 14 kB 0 B
packages/react-native/dist/surveys/components/SurveyModal.js 7.24 kB 0 B
packages/react-native/dist/surveys/components/Surveys.js 6.58 kB 0 B
packages/react-native/dist/surveys/getActiveMatchingSurveys.js 2.73 kB 0 B
packages/react-native/dist/surveys/icons.js 10 kB 0 B
packages/react-native/dist/surveys/index.js 600 B 0 B
packages/react-native/dist/surveys/PostHogSurveyProvider.js 6.73 kB 0 B
packages/react-native/dist/surveys/safeStyleSheet.js 448 B 0 B
packages/react-native/dist/surveys/survey-translations.js 1.11 kB 0 B
packages/react-native/dist/surveys/surveys-utils.js 13.8 kB 0 B
packages/react-native/dist/surveys/useActivatedSurveys.js 3.73 kB 0 B
packages/react-native/dist/surveys/useSurveyStorage.js 2.48 kB 0 B
packages/react-native/dist/tooling/expoconfig.js 17.3 kB 0 B
packages/react-native/dist/tooling/metroconfig.js 2.32 kB 0 B
packages/react-native/dist/tooling/posthogMetroSerializer.js 4.86 kB 0 B
packages/react-native/dist/tooling/utils.js 4.05 kB 0 B
packages/react-native/dist/tooling/vendor/expo/expoconfig.js 70 B 0 B
packages/react-native/dist/tooling/vendor/metro/countLines.js 237 B 0 B
packages/react-native/dist/tooling/vendor/metro/utils.js 3.35 kB 0 B
packages/react-native/dist/types.js 70 B 0 B
packages/react-native/dist/utils.js 1.3 kB 0 B
packages/react-native/dist/version.js 130 B 0 B
packages/react/dist/esm/index.js 21.1 kB 0 B
packages/react/dist/esm/slim/index.js 17.5 kB 0 B
packages/react/dist/esm/surveys/index.js 4.75 kB 0 B
packages/react/dist/umd/index.js 24.3 kB 0 B
packages/react/dist/umd/slim/index.js 20.3 kB 0 B
packages/react/dist/umd/surveys/index.js 5.52 kB 0 B
packages/rollup-plugin/dist/index.js 6.01 kB 0 B
packages/rrweb/all/dist/rrweb-all.cjs 698 kB 0 B
packages/rrweb/all/dist/rrweb-all.js 697 kB 0 B
packages/rrweb/all/dist/rrweb-all.umd.cjs 701 kB 0 B
packages/rrweb/all/dist/rrweb-all.umd.min.cjs 326 kB 0 B
packages/rrweb/packer/dist/base-********.cjs 18.3 kB 0 B
packages/rrweb/packer/dist/base-********.js 18.2 kB 0 B
packages/rrweb/packer/dist/base-********.umd.cjs 18.7 kB 0 B
packages/rrweb/packer/dist/base-********.umd.min.cjs 9.5 kB 0 B
packages/rrweb/packer/dist/pack.cjs 347 B 0 B
packages/rrweb/packer/dist/pack.js 285 B 0 B
packages/rrweb/packer/dist/pack.umd.cjs 1.63 kB 0 B
packages/rrweb/packer/dist/pack.umd.min.cjs 1.11 kB 0 B
packages/rrweb/packer/dist/packer.cjs 257 B 0 B
packages/rrweb/packer/dist/packer.js 136 B 0 B
packages/rrweb/packer/dist/packer.umd.cjs 662 B 0 B
packages/rrweb/packer/dist/packer.umd.min.cjs 626 B 0 B
packages/rrweb/packer/dist/unpack.cjs 769 B 0 B
packages/rrweb/packer/dist/unpack.js 702 B 0 B
packages/rrweb/packer/dist/unpack.umd.cjs 1.17 kB 0 B
packages/rrweb/packer/dist/unpack.umd.min.cjs 955 B 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.cjs 37.6 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.js 37.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.cjs 38 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.min.cjs 22.2 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.cjs 34.3 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.js 34.2 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.cjs 34.7 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.min.cjs 20.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.cjs 15.6 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.js 15.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.cjs 16.1 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.min.cjs 7.61 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.cjs 5.01 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.js 4.9 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.cjs 5.44 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.min.cjs 2.64 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.cjs 681 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.js 548 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.cjs 1.12 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.min.cjs 829 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.cjs 933 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.js 820 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.cjs 1.37 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.min.cjs 968 B 0 B
packages/rrweb/record/dist/rrweb-record.cjs 228 kB 0 B
packages/rrweb/record/dist/rrweb-record.js 228 kB 0 B
packages/rrweb/record/dist/rrweb-record.umd.cjs 228 kB 0 B
packages/rrweb/record/dist/rrweb-record.umd.min.cjs 105 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.cjs 474 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.js 474 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.umd.cjs 476 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.umd.min.cjs 224 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.cjs 160 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.js 160 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.cjs 162 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.min.cjs 74.9 kB 0 B
packages/rrweb/rrdom/dist/rrdom.cjs 186 kB 0 B
packages/rrweb/rrdom/dist/rrdom.js 185 kB 0 B
packages/rrweb/rrdom/dist/rrdom.umd.cjs 187 kB 0 B
packages/rrweb/rrdom/dist/rrdom.umd.min.cjs 85.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.cjs 39 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.js 37.3 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.umd.cjs 82.6 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.umd.min.cjs 37.2 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.cjs 149 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.js 148 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.umd.cjs 193 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.umd.min.cjs 85.7 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.cjs 3.88 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.js 2.29 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.umd.cjs 260 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.umd.min.cjs 109 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.cjs 37.3 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.js 36.1 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.umd.cjs 38.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.umd.min.cjs 17.2 kB 0 B
packages/rrweb/rrweb/dist/rrweb.cjs 682 kB 0 B
packages/rrweb/rrweb/dist/rrweb.js 681 kB 0 B
packages/rrweb/rrweb/dist/rrweb.umd.cjs 682 kB 0 B
packages/rrweb/rrweb/dist/rrweb.umd.min.cjs 316 kB 0 B
packages/rrweb/types/dist/rrweb-types.cjs 5.75 kB 0 B
packages/rrweb/types/dist/rrweb-types.js 5.46 kB 0 B
packages/rrweb/types/dist/rrweb-types.umd.cjs 6.16 kB 0 B
packages/rrweb/types/dist/rrweb-types.umd.min.cjs 2.86 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.cjs 7.56 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.js 7.1 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.umd.cjs 7.97 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.umd.min.cjs 4.04 kB 0 B
packages/types/dist/capture-log.js 603 B 0 B
packages/types/dist/capture-log.mjs 0 B 0 B 🆕
packages/types/dist/capture-metric.js 1.37 kB 0 B
packages/types/dist/capture-metric.mjs 93 B 0 B
packages/types/dist/capture.js 603 B 0 B
packages/types/dist/capture.mjs 0 B 0 B 🆕
packages/types/dist/common.js 603 B 0 B
packages/types/dist/common.mjs 0 B 0 B 🆕
packages/types/dist/feature-flags.js 603 B 0 B
packages/types/dist/feature-flags.mjs 0 B 0 B 🆕
packages/types/dist/index.js 1.45 kB 0 B
packages/types/dist/index.mjs 122 B 0 B
packages/types/dist/posthog-config.js 603 B 0 B
packages/types/dist/posthog-config.mjs 0 B 0 B 🆕
packages/types/dist/posthog.js 603 B 0 B
packages/types/dist/posthog.mjs 0 B 0 B 🆕
packages/types/dist/request.js 603 B 0 B
packages/types/dist/request.mjs 0 B 0 B 🆕
packages/types/dist/segment.js 603 B 0 B
packages/types/dist/segment.mjs 0 B 0 B 🆕
packages/types/dist/session-recording.js 603 B 0 B
packages/types/dist/session-recording.mjs 0 B 0 B 🆕
packages/types/dist/survey.js 603 B 0 B
packages/types/dist/survey.mjs 0 B 0 B 🆕
packages/types/dist/toolbar.js 603 B 0 B
packages/types/dist/toolbar.mjs 0 B 0 B 🆕
packages/types/dist/tree-shakeable.js 603 B 0 B
packages/types/dist/tree-shakeable.mjs 0 B 0 B 🆕
packages/web/dist/index.cjs 14 kB 0 B
packages/web/dist/index.mjs 14 kB 0 B
packages/webpack-plugin/dist/config.js 1.47 kB 0 B
packages/webpack-plugin/dist/config.mjs 480 B 0 B
packages/webpack-plugin/dist/index.js 6.7 kB 0 B
packages/webpack-plugin/dist/index.mjs 2.94 kB 0 B
tooling/changelog/dist/index.js 3.31 kB 0 B
tooling/rollup-utils/dist/index.js 1.17 kB 0 B

compressed-size-action

gesh and others added 2 commits August 20, 2026 11:21
A client that died before printing its JSON verdict resolved to an empty
results object. Absent assertions render as `·` (not applicable) and are
skipped by the expected-failures reconciliation, so a crashed client
produced a row of dots and the lane exited 0 having asserted nothing.

Anything short of a verdict for every column is now an error that fails
the lane, with the crash dump in the log. A non-zero client exit is still
a result, not a crash — the client exits 1 whenever a cell is red.

Also drain the client's stderr (an unread pipe can wedge the child) and
exclude unreported rows from the "now passing" check, so a crash isn't
reported as a stale snapshot.

Separately, list the shared check-affected machinery in additional-paths,
matching integration.yml/library-ci.yml/testcafe.yml: a change to how
"affected" is computed should re-run this gate rather than skip it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Each probe file covers both SDK majors internally, and both sdk lanes ran all
of them — so every probe executed twice, and a probe regression turned both
lanes red without naming the stack that broke. The probes now take the same
--major filter as the matrix: the "sdk v1" lane runs only the v1 halves, the
"sdk v2" lane the v2 halves plus the v2-only first-call-error probe. Same 20
probe assertions in total, each run exactly once, and a red probe now
attributes to its SDK major. Running a probe file with no --major still
exercises both majors for local use.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330
@gesh
gesh marked this pull request as ready for review August 20, 2026 08:39
@greptile-apps

greptile-apps Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Reviews (2): Last reviewed commit: "ci(mcp): split the dual-era probes by SD..." | Re-trigger Greptile

@gesh

gesh commented Aug 20, 2026

Copy link
Copy Markdown
Member Author

Note

🤖 Automated comment by QA Swarm — not written by a human

Multi-perspective review: router (cheap-first pass) + delegated reviewers (qa-team, paul-reviewer, xp-reviewer, security-audit as warranted)

Verdict: ✅ APPROVE (round 3 @ bba9bd1)

Round 3 reviewed the fail-fast guard commit (bba9bd1) that resolved round 2's finding: condition precise, exit code integrates with the matrix's no-verdict handling, message surfaces correctly through the crash-reason extractor. No findings; quality loop converged.

Key findings

None — no actionable findings this round. Round 2's LOW finding was fixed in bba9bd1 and its thread resolved.

Convergence

n/a (single reviewer ran).

Reviewer summaries

Reviewer Assessment
🧭 router Danger LOW, confidence HIGH, delegated nothing. Verified the guard against matrix.mjs's runClient error handling and whyItDied fallback; placement colocated with the invariant it protects — no defects.
Previous rounds (2)

round 1 @ 11e9f17 — ✅ APPROVE: full-diff pass, 0 findings, no delegations.
round 2 @ 4cf9bea — ✅ APPROVE: 1 LOW (contingent header invariant), fixed in bba9bd1 and resolved.


Automated by QA Swarm — not a human review

The header assertion's isV2 branch duplicated what headerOk already computes:
every v2 matrix row omits headerExpect, so the client receives --header none
and headerOk reduces to the same no-header-minted check.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330
Comment thread packages/mcp/harness/dual-era/client/run.mjs Outdated
qa-swarm flagged that `header: headerOk` (from the round-1 simplify commit)
is behavior-preserving only because every current v2 matrix row omits
--header, defaulting HEADER_EXPECT to 'none'. Nothing enforced that a v2
server must never mint a session header (a 2026-07-28 MUST NOT) — a future
v2 row passing a non-'none' --header would silently change what the
assertion means. Fail fast instead when SDK=v2 and HEADER_EXPECT != 'none'.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330
@gesh gesh added the stamphog label Aug 20, 2026
gesh added 3 commits August 20, 2026 12:20
"sdk v1" vs "nest mcp sdk v1" did not tell a passer-by what differs between
the lanes. The jobs are now "official SDK v1/v2" (the @modelcontextprotocol/*
packages) and "mcp-nest (SDK v1/v2)" (the @rekog/mcp-nest customer stacks),
matching the real package names. Renamed before branch protection is
configured, so no required-check strings need migrating.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330
Proves the MCP harness gate catches a real capture regression on CI. This
commit intentionally stops capturing tool-call exceptions on the high-level
path; the harness lanes must go red naming the errors cells. It is reverted
in the next commit — do not merge this commit alone.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330

@marandaneto marandaneto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inline review findings.

['v1 stateless low', 'v1.mjs', { LEVEL: 'low', MODE: 'stateless' }, '2025', 'off', 'token'],
]
const V2_ROWS = [
['v2 high 2025 conv=off', 'v2.mjs', { LEVEL: 'high' }, '2025', 'off'],

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Exercise or remove the long-lived v2 server mode

Every v2 matrix row leaves MODE unset, so coverage stays on the default perrequest mode; the new longlived branch is never tested despite being described as a comparison control. Please add explicit MODE=longlived rows or remove the unused mode and its coverage claim.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 32f9a89 — added two long-lived control rows (high/low, legacy era only since the long-lived transport tops out at 2025-11-25), asserting the ADR-0009 minted token. They immediately paid off: client resolves on long-lived but not per-request, isolating the documented limitation to the topology.

Comment thread .github/workflows/mcp-harness.yml Outdated
with:
build: false

# Scoped build (only @posthog/core + @posthog/mcp): an unrelated package's

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Correct the workflow’s build-isolation assumption

This Turbo command follows workspace task dependencies and also builds posthog-node (plus other dependencies), so an unrelated dependency build can fail every harness lane. Please restrict the invocation if possible, or document the actual transitive build scope instead of claiming only @posthog/core and @posthog/mcp are built.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right — the closure also pulls in @posthog/types, @posthog/core, and posthog-node (mcp's .d.ts build needs them), so it can't be restricted further. Corrected the comments in the workflow/run-all to document the actual transitive scope (32f9a89).


const argv = process.argv.slice(2)
const arg = (name, fallback) => {
const i = argv.indexOf(`--${name}`)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Format the added harness and configuration files

pnpm exec prettier --check still reports formatting differences across the added harness/configuration files, and the @posthog/mcp lint command only covers src, so CI does not catch this drift. Please run the repository’s Prettier configuration over the changed files.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Formatted the harness with the repo prettier config and extended the package lint to eslint src && prettier --check harness, so the existing Lint packages job now catches drift (32f9a89). Left pnpm-workspace.yaml as-is — it already fails prettier on main, so formatting it here would be unrelated churn.

Comment thread .changeset/mcp-harness-in-repo-ci.md Outdated
@@ -0,0 +1,6 @@
---

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can be deleted

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deleted in 32f9a89.

…er, changeset

- Exercise the long-lived v2 topology: two matrix control rows (high/low,
  legacy era only — NodeStreamableHTTPServerTransport tops out at 2025-11-25)
  expecting the ADR-0009 minted session token. This also corrected the
  fail-fast header guard from SDK-scoped to era-scoped (a v2 server serving
  the 2025 era legitimately mints), and checkAlive now probes in the row's
  own era so a longlived server is not reported dead by a modern-era request.
- Correct the scoped-build comments: turbo builds @posthog/mcp plus its
  workspace dependency closure (types, core, posthog-node), not just core+mcp.
- Format the harness with the repo prettier config and gate it in the package
  lint script so CI catches drift.
- Drop the empty changeset.

Generated-By: PostHog Code
Task-Id: 8656d768-37c4-4e79-8d98-b3830b00c330
@github-actions

Copy link
Copy Markdown
Contributor

📝 No Changeset Found

This PR doesn't include a changeset. A changeset is required to release a new version.

How to add a changeset

Run this command and follow the prompts:

pnpm changeset

Remember: Never use major version bumps for posthog-js as it's autoloaded by clients.

@gesh
gesh merged commit bc68d4a into main Aug 20, 2026
69 checks passed
@gesh
gesh deleted the posthog-code/mcp-harness-ci branch August 20, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants