stitchkit 0.80.1 → 0.82.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/CHANGELOG.md +6552 -0
- package/README.md +4 -0
- package/dist/agent-runtime/provider-failure.d.ts.map +1 -1
- package/dist/agent-runtime-coding-tools.js +1 -1
- package/dist/agent-runtime-harness.js +7 -5
- package/dist/agent-runtime.js +15 -19
- package/dist/application/notification-outbox.d.ts +80 -0
- package/dist/application/notification-outbox.d.ts.map +1 -0
- package/dist/application/process-lifecycle.d.ts +166 -0
- package/dist/application/process-lifecycle.d.ts.map +1 -0
- package/dist/application/state-store.d.ts +18 -0
- package/dist/application/state-store.d.ts.map +1 -0
- package/dist/application.d.ts +3 -0
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +568 -11
- package/dist/browser/http.d.ts +14 -0
- package/dist/browser/http.d.ts.map +1 -1
- package/dist/browser/resumable.d.ts +6 -0
- package/dist/browser/resumable.d.ts.map +1 -1
- package/dist/cli.js +9 -7
- package/dist/contract/define.d.ts +27 -4
- package/dist/contract/define.d.ts.map +1 -1
- package/dist/contract/errors-factory.d.ts +22 -3
- package/dist/contract/errors-factory.d.ts.map +1 -1
- package/dist/contract/index.d.ts +2 -2
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +1 -1
- package/dist/geo/index.d.ts +4 -0
- package/dist/geo/index.d.ts.map +1 -0
- package/dist/geo/maxmind.d.ts +4 -0
- package/dist/geo/maxmind.d.ts.map +1 -0
- package/dist/geo/resolver.d.ts +9 -0
- package/dist/geo/resolver.d.ts.map +1 -0
- package/dist/geo/types.d.ts +59 -0
- package/dist/geo/types.d.ts.map +1 -0
- package/dist/geo.d.ts +3 -0
- package/dist/geo.d.ts.map +1 -0
- package/dist/geo.js +245 -0
- package/dist/{index-9s6z8vgf.js → index-1dd82z59.js} +1 -1
- package/dist/{index-vwp69871.js → index-27487ay5.js} +4 -4
- package/dist/{index-7ag81v2f.js → index-27gm3d6g.js} +10 -321
- package/dist/{index-y01f4223.js → index-2bxcmqkb.js} +127 -43
- package/dist/{index-dxesg10d.js → index-3ds42w1w.js} +3 -3
- package/dist/index-3xwxfj4z.js +334 -0
- package/dist/{index-egaabxkz.js → index-5z8tezpx.js} +2 -2
- package/dist/{index-fxz0v7vg.js → index-7evdsyez.js} +1 -83
- package/dist/{index-xcetq6j3.js → index-90d7h2cr.js} +32 -13
- package/dist/{index-t0z5p5w6.js → index-apn8repm.js} +1 -1
- package/dist/{index-758zx2ha.js → index-dggwnnjv.js} +2 -2
- package/dist/{index-dwf1f2ap.js → index-f9mb610r.js} +1 -62
- package/dist/{index-5mtc969c.js → index-fwbkp2jn.js} +1 -1
- package/dist/index-p13mwz16.js +16 -0
- package/dist/{index-m9kzax52.js → index-p18f59zy.js} +21 -5
- package/dist/{index-hb5pf3s4.js → index-qmgs7y68.js} +1 -1
- package/dist/{index-2rwwmr7v.js → index-s4ckmrac.js} +1 -1
- package/dist/{index-h4pj6fta.js → index-s8cnx02s.js} +8 -5
- package/dist/{index-k9ay6v6d.js → index-vchzar7e.js} +74 -23
- package/dist/index-vsbzgd7b.js +84 -0
- package/dist/{index-dxjjv399.js → index-xbppf54a.js} +95 -15
- package/dist/index-y91ry9h2.js +4 -0
- package/dist/index-zcgf3gqf.js +83 -0
- package/dist/index.js +17 -13
- package/dist/internal/error-message.d.ts +3 -0
- package/dist/internal/error-message.d.ts.map +1 -0
- package/dist/internal/media-type.d.ts +8 -0
- package/dist/internal/media-type.d.ts.map +1 -0
- package/dist/internal/route-pattern.d.ts +21 -0
- package/dist/internal/route-pattern.d.ts.map +1 -1
- package/dist/internal/upgrade-plan.d.ts +18 -0
- package/dist/internal/upgrade-plan.d.ts.map +1 -0
- package/dist/node.js +9 -6
- package/dist/observability/audit.d.ts +28 -1
- package/dist/observability/audit.d.ts.map +1 -1
- package/dist/observability/bounded-logger.d.ts +20 -0
- package/dist/observability/bounded-logger.d.ts.map +1 -0
- package/dist/observability/context.d.ts +12 -3
- package/dist/observability/context.d.ts.map +1 -1
- package/dist/observability/index.d.ts +3 -2
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +138 -8
- package/dist/observability/sanitize.d.ts +17 -0
- package/dist/observability/sanitize.d.ts.map +1 -1
- package/dist/primitives.js +1 -1
- package/dist/react/query-client.d.ts +33 -0
- package/dist/react/query-client.d.ts.map +1 -0
- package/dist/react.d.ts +1 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +83 -1
- package/dist/realtime/registry.d.ts +93 -0
- package/dist/realtime/registry.d.ts.map +1 -0
- package/dist/release/header.d.ts +9 -0
- package/dist/release/header.d.ts.map +1 -0
- package/dist/release/marker.d.ts +39 -0
- package/dist/release/marker.d.ts.map +1 -0
- package/dist/release/socket.d.ts +57 -0
- package/dist/release/socket.d.ts.map +1 -0
- package/dist/release/watcher.d.ts +66 -0
- package/dist/release/watcher.d.ts.map +1 -0
- package/dist/release.d.ts +15 -0
- package/dist/release.d.ts.map +1 -0
- package/dist/release.js +196 -0
- package/dist/remote.js +12 -7
- package/dist/server/context.d.ts +2 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/error-hook.d.ts +17 -16
- package/dist/server/error-hook.d.ts.map +1 -1
- package/dist/server/file-state-store.d.ts +23 -0
- package/dist/server/file-state-store.d.ts.map +1 -0
- package/dist/server/implement.d.ts.map +1 -1
- package/dist/server/index.d.ts +5 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +469 -11
- package/dist/server/middleware/cookies.d.ts +33 -1
- package/dist/server/middleware/cookies.d.ts.map +1 -1
- package/dist/server/middleware/cors.d.ts +16 -1
- package/dist/server/middleware/cors.d.ts.map +1 -1
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/release-signal.d.ts +35 -0
- package/dist/server/release-signal.d.ts.map +1 -0
- package/dist/server/router.d.ts.map +1 -1
- package/dist/server/types.d.ts +26 -2
- package/dist/server/types.d.ts.map +1 -1
- package/dist/testing/surface-manifest.d.ts.map +1 -1
- package/dist/testing.js +7 -4
- package/dist/tool-invoker.js +8 -6
- package/dist/tools/download-core.d.ts.map +1 -1
- package/dist/tools/remote.d.ts.map +1 -1
- package/dist/tools/view-file.d.ts.map +1 -1
- package/dist/tools.js +20 -16
- package/dist/tracking/attribution.d.ts +51 -0
- package/dist/tracking/attribution.d.ts.map +1 -0
- package/dist/tracking/beacon.d.ts +14 -0
- package/dist/tracking/beacon.d.ts.map +1 -0
- package/dist/tracking/clicks.d.ts +46 -0
- package/dist/tracking/clicks.d.ts.map +1 -0
- package/dist/tracking/client.d.ts +121 -0
- package/dist/tracking/client.d.ts.map +1 -0
- package/dist/tracking/contract.d.ts +57 -0
- package/dist/tracking/contract.d.ts.map +1 -0
- package/dist/tracking/delivery.d.ts +24 -0
- package/dist/tracking/delivery.d.ts.map +1 -0
- package/dist/tracking/host.d.ts +43 -0
- package/dist/tracking/host.d.ts.map +1 -0
- package/dist/tracking/once-per-page.d.ts +17 -0
- package/dist/tracking/once-per-page.d.ts.map +1 -0
- package/dist/tracking/outbox-storage-indexeddb.d.ts +12 -0
- package/dist/tracking/outbox-storage-indexeddb.d.ts.map +1 -0
- package/dist/tracking/outbox-storage-memory.d.ts +12 -0
- package/dist/tracking/outbox-storage-memory.d.ts.map +1 -0
- package/dist/tracking/outbox.d.ts +98 -0
- package/dist/tracking/outbox.d.ts.map +1 -0
- package/dist/tracking/schemas.d.ts +183 -0
- package/dist/tracking/schemas.d.ts.map +1 -0
- package/dist/tracking/scroll.d.ts +22 -0
- package/dist/tracking/scroll.d.ts.map +1 -0
- package/dist/tracking/sequence-reserve.d.ts +34 -0
- package/dist/tracking/sequence-reserve.d.ts.map +1 -0
- package/dist/tracking/server/active-interval.d.ts +26 -0
- package/dist/tracking/server/active-interval.d.ts.map +1 -0
- package/dist/tracking/server/bot.d.ts +9 -0
- package/dist/tracking/server/bot.d.ts.map +1 -0
- package/dist/tracking/server/disposition.d.ts +55 -0
- package/dist/tracking/server/disposition.d.ts.map +1 -0
- package/dist/tracking/server/hash.d.ts +13 -0
- package/dist/tracking/server/hash.d.ts.map +1 -0
- package/dist/tracking/server/presence.d.ts +27 -0
- package/dist/tracking/server/presence.d.ts.map +1 -0
- package/dist/tracking/server/visit-lease.d.ts +92 -0
- package/dist/tracking/server/visit-lease.d.ts.map +1 -0
- package/dist/tracking/visible-time.d.ts +38 -0
- package/dist/tracking/visible-time.d.ts.map +1 -0
- package/dist/tracking-server.d.ts +15 -0
- package/dist/tracking-server.d.ts.map +1 -0
- package/dist/tracking-server.js +173 -0
- package/dist/tracking.d.ts +24 -0
- package/dist/tracking.d.ts.map +1 -0
- package/dist/tracking.js +1091 -0
- package/dist/upgrade-cli.d.ts +27 -0
- package/dist/upgrade-cli.d.ts.map +1 -0
- package/dist/upgrade-cli.js +177 -0
- package/llms-full.txt +1001 -29
- package/llms.txt +4 -0
- package/package.json +30 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,iFAAiF;IACjF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IAChE,oCAAoC;IACpC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AA6DD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,iFAAiF;IACjF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IAChE,oCAAoC;IACpC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AA6DD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAsM9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAM9E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ReleaseMarker } from '../release/marker.js';
|
|
2
|
+
import type { SignalSource } from './process-signals.js';
|
|
3
|
+
/**
|
|
4
|
+
* The one signal a deploy may borrow: user-defined, and the only such one the
|
|
5
|
+
* process-signal vocabulary knows — anything else would take a termination
|
|
6
|
+
* away from `bindProcessSignals`.
|
|
7
|
+
*/
|
|
8
|
+
export type ReleaseRefreshSignal = 'SIGUSR2';
|
|
9
|
+
export interface ReleaseRefreshSignalOptions {
|
|
10
|
+
/** `SIGUSR2` — the signal a frontend-only deploy sends. Never a termination signal. */
|
|
11
|
+
signal?: ReleaseRefreshSignal;
|
|
12
|
+
/** `process` by default; a test passes its own. */
|
|
13
|
+
source?: Pick<SignalSource, 'on' | 'off'>;
|
|
14
|
+
/** Hear each refresh — to log "build id → X". */
|
|
15
|
+
onRefresh?: (result: {
|
|
16
|
+
changed: boolean;
|
|
17
|
+
buildId: string | null;
|
|
18
|
+
}) => void;
|
|
19
|
+
/** Hear a refresh or `onRefresh` that threw. The handler itself never does: an exception in a signal handler ends the process. */
|
|
20
|
+
onError?: (error: unknown) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A deploy that replaced the frontend without restarting the backend has to
|
|
24
|
+
* tell the backend; a process signal is that message. This binds it to
|
|
25
|
+
* `marker.refresh()`, whose subscribers (the socket binding) do the telling.
|
|
26
|
+
*
|
|
27
|
+
* The signal's sender is a **release step of the application** — `kill -USR2
|
|
28
|
+
* <pid>` or `pm2 sendSignal SIGUSR2 <name>` after the frontend is active —
|
|
29
|
+
* and belongs in its deploy script, named, not in a comment. Bind early: a
|
|
30
|
+
* signal with no listener kills the process by default. Do not also list the
|
|
31
|
+
* same signal in `bindProcessSignals`, which would shut the server down on
|
|
32
|
+
* every deploy.
|
|
33
|
+
*/
|
|
34
|
+
export declare function bindReleaseRefreshSignal(marker: ReleaseMarker, options?: ReleaseRefreshSignalOptions): () => void;
|
|
35
|
+
//# sourceMappingURL=release-signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-signal.d.ts","sourceRoot":"","sources":["../../src/server/release-signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,2BAA2B;IAC1C,uFAAuF;IACvF,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,mDAAmD;IACnD,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;IAC1C,iDAAiD;IACjD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,kIAAkI;IAClI,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,2BAAgC,GACxC,MAAM,IAAI,CAgBZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/E,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAaD,+EAA+E;AAC/E,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/E,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAaD,+EAA+E;AAC/E,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAiHD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,CAkCjE;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,UAAU,GAAG,IAAI,CAkBnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAc7E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAkBvD;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EACxC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GACzC,aAAa,EAAE,CAyBjB;AAID,wBAAgB,aAAa,CAAC,OAAO,EACnC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CAyBrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,CAqD3F"}
|
package/dist/server/types.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { ZodType } from 'zod';
|
|
2
2
|
import type { EndpointDef, EndpointMcpPolicy, EndpointResponseMeta, EndpointStreamDescriptor, EndpointToolAnnotations, EndpointUiMeta, HandlerContext, HttpMethod, MultipartBufferedFiles, MultipartDescriptor, ResponseMetadata, RuntimeContext, Transport } from '../contract/index.js';
|
|
3
|
+
import type { PathParams } from '../internal/route-pattern.js';
|
|
3
4
|
import type { StitchLogger } from '../logger.js';
|
|
4
5
|
import type { HttpRequestObserver } from '../observability/audit.js';
|
|
6
|
+
import type { ReleaseMarker } from '../release/marker.js';
|
|
5
7
|
import type { LogFormat } from './logger.js';
|
|
6
8
|
import type { CorsConfig } from './middleware/cors.js';
|
|
7
9
|
type Prop<T, K extends string> = K extends keyof T ? T[K] : undefined;
|
|
8
|
-
type InferParams<E> = Prop<E, 'params'> extends ZodType<infer P> ? P :
|
|
10
|
+
type InferParams<E> = Prop<E, 'params'> extends ZodType<infer P> ? P : E extends {
|
|
11
|
+
path: infer TPath extends string;
|
|
12
|
+
} ? keyof PathParams<TPath> extends never ? undefined : PathParams<TPath> : undefined;
|
|
9
13
|
type InferInput<E> = Prop<E, 'input'> extends ZodType<infer I> ? I : undefined;
|
|
10
14
|
type InferOutput<E> = Prop<E, 'output'> extends ZodType<infer O> ? O : never;
|
|
11
15
|
type InferMcpInput<E> = Prop<E, 'mcp'> extends {
|
|
@@ -71,7 +75,7 @@ export type EndpointHandlerContext<E extends EndpointDef, TCtx extends RuntimeCo
|
|
|
71
75
|
} ? unknown : {
|
|
72
76
|
files: MultipartBufferedFiles<M>;
|
|
73
77
|
} : unknown);
|
|
74
|
-
export type Handlers<C extends Record<string, EndpointDef>, TCtx extends RuntimeContext =
|
|
78
|
+
export type Handlers<C extends Record<string, EndpointDef>, TCtx extends RuntimeContext = RuntimeContext> = {
|
|
75
79
|
[K in keyof C]: C[K] extends {
|
|
76
80
|
multipart: {
|
|
77
81
|
delivery: 'stream';
|
|
@@ -198,6 +202,11 @@ export interface MethodDef<TParams = unknown, TInput = unknown, TOutput = unknow
|
|
|
198
202
|
rawResponse?: true;
|
|
199
203
|
/** Retain the decoded JSON request text on `ctx.rawBody`. HTTP-only. */
|
|
200
204
|
rawBody?: true;
|
|
205
|
+
/**
|
|
206
|
+
* The JSON body may also arrive as `text/plain` — from `EndpointDef.safelistedBody`.
|
|
207
|
+
* Honoured only for an `Origin` on the server's explicit CORS allow-list. → ADR 0165.
|
|
208
|
+
*/
|
|
209
|
+
safelistedBody?: true;
|
|
201
210
|
/** Static success metadata for an HTTP-only typed-data endpoint. → ADR 0052. */
|
|
202
211
|
responseMeta?: EndpointResponseMeta;
|
|
203
212
|
/** Documented response media type of a raw-response endpoint — OpenAPI only. */
|
|
@@ -281,6 +290,13 @@ export interface RawRouteContext<TServer = unknown> {
|
|
|
281
290
|
}
|
|
282
291
|
export interface RawRoute<TServer = unknown> {
|
|
283
292
|
method: HttpMethod | 'ALL';
|
|
293
|
+
/**
|
|
294
|
+
* Stable service identity for observability policies. Unlike a contract
|
|
295
|
+
* prefix this cannot be derived from `path`, so raw routes declare it here.
|
|
296
|
+
*/
|
|
297
|
+
serviceName?: string;
|
|
298
|
+
/** Optional action identity within `serviceName`; never inferred from `path`. */
|
|
299
|
+
action?: string;
|
|
284
300
|
/**
|
|
285
301
|
* Exact path, `:param` segments, or a named trailing prefix wildcard. For
|
|
286
302
|
* example `/app/:slug/*filePath` exposes `params.slug` and `params.filePath`.
|
|
@@ -406,6 +422,14 @@ export interface HandlerConfig<TServer = unknown> {
|
|
|
406
422
|
*/
|
|
407
423
|
maxJsonBodyBytes?: number;
|
|
408
424
|
cors?: CorsConfig;
|
|
425
|
+
/**
|
|
426
|
+
* The current frontend build, named on every response as `X-Build-Id` so a
|
|
427
|
+
* browser can tell it is running a bundle the server no longer serves
|
|
428
|
+
* (`stitchkit/release`). Silent while the marker reads `null`. A custom
|
|
429
|
+
* `cors.exposeHeaders` replaces the default list — include `X-Build-Id` there
|
|
430
|
+
* or a cross-origin page cannot read it. → ADR 0167.
|
|
431
|
+
*/
|
|
432
|
+
release?: Pick<ReleaseMarker, 'current'>;
|
|
409
433
|
hooks?: LifecycleHooks;
|
|
410
434
|
logging?: boolean | LoggingConfig;
|
|
411
435
|
/** Framework-owned HTTP RequestEvent projection from `createObservability`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACtE,KAAK,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-manifest.d.ts","sourceRoot":"","sources":["../../src/testing/surface-manifest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"surface-manifest.d.ts","sourceRoot":"","sources":["../../src/testing/surface-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/testing.js
CHANGED
|
@@ -30,14 +30,16 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
createClient,
|
|
32
32
|
createClients
|
|
33
|
-
} from "./index-
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
33
|
+
} from "./index-27gm3d6g.js";
|
|
34
|
+
import"./index-qmgs7y68.js";
|
|
35
|
+
import"./index-3xwxfj4z.js";
|
|
36
|
+
import"./index-7evdsyez.js";
|
|
36
37
|
import {
|
|
37
38
|
joinRoutePath
|
|
38
|
-
} from "./index-
|
|
39
|
+
} from "./index-2bxcmqkb.js";
|
|
39
40
|
import"./index-6k1937bx.js";
|
|
40
41
|
import"./index-0w9abg87.js";
|
|
42
|
+
import"./index-zcgf3gqf.js";
|
|
41
43
|
import"./index-kzfs85xp.js";
|
|
42
44
|
import {
|
|
43
45
|
isRecord
|
|
@@ -1552,6 +1554,7 @@ function operationFingerprint(source) {
|
|
|
1552
1554
|
ui: source.ui ?? null,
|
|
1553
1555
|
mcp,
|
|
1554
1556
|
rawBody: source.rawBody ?? false,
|
|
1557
|
+
safelistedBody: source.safelistedBody ?? false,
|
|
1555
1558
|
rawResponse: source.rawResponse ?? false,
|
|
1556
1559
|
responseMeta: source.responseMeta ?? null,
|
|
1557
1560
|
maxJsonBodyBytes: source.maxJsonBodyBytes ?? null,
|
package/dist/tool-invoker.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createToolInvoker
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
3
|
+
} from "./index-5z8tezpx.js";
|
|
4
|
+
import"./index-fwbkp2jn.js";
|
|
5
|
+
import"./index-dggwnnjv.js";
|
|
6
|
+
import"./index-vsbzgd7b.js";
|
|
7
|
+
import"./index-f9mb610r.js";
|
|
7
8
|
import"./index-mgtxfe6b.js";
|
|
8
9
|
import"./index-cby4ar3v.js";
|
|
9
10
|
import"./index-7zbps32p.js";
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
11
|
+
import"./index-7evdsyez.js";
|
|
12
|
+
import"./index-2bxcmqkb.js";
|
|
12
13
|
import"./index-6k1937bx.js";
|
|
13
14
|
import"./index-0w9abg87.js";
|
|
15
|
+
import"./index-zcgf3gqf.js";
|
|
14
16
|
import"./index-kzfs85xp.js";
|
|
15
17
|
import"./index-77fekveh.js";
|
|
16
18
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-core.d.ts","sourceRoot":"","sources":["../../src/tools/download-core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"download-core.d.ts","sourceRoot":"","sources":["../../src/tools/download-core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAmB7D,yFAAyF;AACzF,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,qBAAqB,GAAG,oBAAoB;aAElD,MAAM,EAAE,MAAM;IAHhC,YACkB,IAAI,EAAE,qBAAqB,GAAG,oBAAoB,EAClE,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAI/B;CACF;AAwBD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC,CA4BzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/tools/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/tools/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnE,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,UAAU,CA2FZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-file.d.ts","sourceRoot":"","sources":["../../src/tools/view-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EACL,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,eAAe,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"view-file.d.ts","sourceRoot":"","sources":["../../src/tools/view-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EACL,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,eAAe,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,mBAAmB,CAAC;AAwB/E,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoKD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,eAAe,EAAE,CAAC,CAE5B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC,OAAO,CAAC,EACpD,OAAO,GAAE,eAAoB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAgBpF"}
|
package/dist/tools.js
CHANGED
|
@@ -4,22 +4,23 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
signJwt,
|
|
6
6
|
verifyPkce
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-90d7h2cr.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_CORS_ALLOW_HEADERS,
|
|
10
10
|
DEFAULT_PROCESS_SIGNALS,
|
|
11
11
|
contractOnlyService,
|
|
12
12
|
defaultSignalSource,
|
|
13
13
|
guardSignalCallback,
|
|
14
|
+
mediaTypeEssence,
|
|
14
15
|
reportSignalError
|
|
15
|
-
} from "./index-
|
|
16
|
+
} from "./index-p18f59zy.js";
|
|
16
17
|
import {
|
|
17
18
|
redact
|
|
18
|
-
} from "./index-
|
|
19
|
+
} from "./index-xbppf54a.js";
|
|
19
20
|
import {
|
|
20
21
|
buildToolManifest,
|
|
21
22
|
mountAgent
|
|
22
|
-
} from "./index-
|
|
23
|
+
} from "./index-3ds42w1w.js";
|
|
23
24
|
import"./index-3xnq72rz.js";
|
|
24
25
|
import {
|
|
25
26
|
argumentsDigest
|
|
@@ -35,7 +36,7 @@ import {
|
|
|
35
36
|
} from "./index-4fpa9dy2.js";
|
|
36
37
|
import {
|
|
37
38
|
createToolInvoker
|
|
38
|
-
} from "./index-
|
|
39
|
+
} from "./index-5z8tezpx.js";
|
|
39
40
|
import {
|
|
40
41
|
WaitTimeoutError,
|
|
41
42
|
createCli,
|
|
@@ -44,11 +45,11 @@ import {
|
|
|
44
45
|
fetchPinnedDocument,
|
|
45
46
|
readCapped,
|
|
46
47
|
runWaitOperation
|
|
47
|
-
} from "./index-
|
|
48
|
+
} from "./index-27487ay5.js";
|
|
48
49
|
import"./index-sbdmyz75.js";
|
|
49
50
|
import {
|
|
50
51
|
collectToolSurface
|
|
51
|
-
} from "./index-
|
|
52
|
+
} from "./index-s4ckmrac.js";
|
|
52
53
|
import {
|
|
53
54
|
createRuntimeToolFactory,
|
|
54
55
|
defineRuntimeTool
|
|
@@ -57,18 +58,19 @@ import {
|
|
|
57
58
|
collectTools,
|
|
58
59
|
createToolRunner,
|
|
59
60
|
formatToolError
|
|
60
|
-
} from "./index-
|
|
61
|
+
} from "./index-fwbkp2jn.js";
|
|
61
62
|
import {
|
|
62
63
|
ToolExecutionControlError,
|
|
63
64
|
executeToolMethod,
|
|
64
65
|
isToolExecutionControlError,
|
|
65
66
|
toolResultFromError
|
|
66
|
-
} from "./index-
|
|
67
|
+
} from "./index-dggwnnjv.js";
|
|
67
68
|
import {
|
|
68
69
|
getRequestContext,
|
|
69
70
|
getTraceId,
|
|
70
71
|
runWithRequestContext
|
|
71
|
-
} from "./index-
|
|
72
|
+
} from "./index-vsbzgd7b.js";
|
|
73
|
+
import"./index-f9mb610r.js";
|
|
72
74
|
import {
|
|
73
75
|
PORTABLE_JSON_SCHEMA_FORMATS,
|
|
74
76
|
assertToolName,
|
|
@@ -85,12 +87,11 @@ import {
|
|
|
85
87
|
coerceJsonArgs
|
|
86
88
|
} from "./index-7zbps32p.js";
|
|
87
89
|
import {
|
|
88
|
-
normalizeError
|
|
89
|
-
|
|
90
|
-
} from "./index-fxz0v7vg.js";
|
|
90
|
+
normalizeError
|
|
91
|
+
} from "./index-7evdsyez.js";
|
|
91
92
|
import {
|
|
92
93
|
defineContract
|
|
93
|
-
} from "./index-
|
|
94
|
+
} from "./index-2bxcmqkb.js";
|
|
94
95
|
import {
|
|
95
96
|
ManagedFilePathSchema,
|
|
96
97
|
ManagedFileRefSchema
|
|
@@ -99,6 +100,9 @@ import {
|
|
|
99
100
|
AppError,
|
|
100
101
|
STITCH_ERROR_STATUS
|
|
101
102
|
} from "./index-0w9abg87.js";
|
|
103
|
+
import {
|
|
104
|
+
resolvePropagationContext
|
|
105
|
+
} from "./index-zcgf3gqf.js";
|
|
102
106
|
import"./index-kzfs85xp.js";
|
|
103
107
|
import {
|
|
104
108
|
isRecord
|
|
@@ -538,7 +542,7 @@ async function runDownloadOperation(config) {
|
|
|
538
542
|
if (!res.ok) {
|
|
539
543
|
throw new DownloadOperationError("DOWNLOAD_HTTP_ERROR", `HTTP ${res.status}`, 502);
|
|
540
544
|
}
|
|
541
|
-
const mimeType = (res.headers.get("content-type")
|
|
545
|
+
const mimeType = mediaTypeEssence(res.headers.get("content-type")) || "application/octet-stream";
|
|
542
546
|
const max = config.maxBytes ?? DEFAULT_MAX_BYTES;
|
|
543
547
|
const declared = Number(res.headers.get("content-length") ?? 0);
|
|
544
548
|
if (declared > max) {
|
|
@@ -683,7 +687,7 @@ async function fetchSource(pathOrUrl, options, maxBytes) {
|
|
|
683
687
|
});
|
|
684
688
|
if (!res.ok)
|
|
685
689
|
throw new AppError("VIEW_HTTP_ERROR", `HTTP ${res.status}`, 502);
|
|
686
|
-
const headerMime = (res.headers.get("content-type")
|
|
690
|
+
const headerMime = mediaTypeEssence(res.headers.get("content-type"));
|
|
687
691
|
const mimeType = headerMime || extMime || "application/octet-stream";
|
|
688
692
|
if (mimeType.startsWith("video/")) {
|
|
689
693
|
await res.body?.cancel();
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type AttributionData, type UtmData } from './schemas.js';
|
|
2
|
+
/** A referrer hostname pattern and the source/medium it stands for. */
|
|
3
|
+
export interface ReferrerRule {
|
|
4
|
+
pattern: RegExp;
|
|
5
|
+
source: string;
|
|
6
|
+
medium: string;
|
|
7
|
+
}
|
|
8
|
+
export interface AttributionStorage {
|
|
9
|
+
getItem(key: string): string | null;
|
|
10
|
+
setItem(key: string, value: string): void;
|
|
11
|
+
removeItem(key: string): void;
|
|
12
|
+
}
|
|
13
|
+
export interface ResolveAttributionInput {
|
|
14
|
+
/** `location.search`, with the leading `?`. */
|
|
15
|
+
search: string;
|
|
16
|
+
/** `document.referrer`. */
|
|
17
|
+
referrer: string;
|
|
18
|
+
/** `location.pathname`. */
|
|
19
|
+
pathname: string;
|
|
20
|
+
/** `location.hostname` — a referrer from the same host is not a referrer. */
|
|
21
|
+
hostname: string;
|
|
22
|
+
storage: AttributionStorage;
|
|
23
|
+
/**
|
|
24
|
+
* Which referrer hosts map to a named source and medium. The framework has
|
|
25
|
+
* no built-in list: which hosts count as "social" or "organic" is the
|
|
26
|
+
* application's data (ADR 0002). An unmatched external referrer is
|
|
27
|
+
* `{ source: hostname, medium: 'referral' }`.
|
|
28
|
+
*/
|
|
29
|
+
referrerMap?: readonly ReferrerRule[];
|
|
30
|
+
/** Storage key. Default `tracking.attribution`. */
|
|
31
|
+
storageKey?: string;
|
|
32
|
+
/** How long first-touch lives. Default 90 days. */
|
|
33
|
+
ttlMs?: number;
|
|
34
|
+
now?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ResolvedAttribution {
|
|
37
|
+
firstTouch: AttributionData;
|
|
38
|
+
currentTouch: AttributionData;
|
|
39
|
+
}
|
|
40
|
+
export declare function parseUtmFromSearch(search: string): UtmData | null;
|
|
41
|
+
export declare function parseReferrer(referrer: string, currentHostname: string, referrerMap?: readonly ReferrerRule[]): {
|
|
42
|
+
source: string;
|
|
43
|
+
medium: string;
|
|
44
|
+
} | null;
|
|
45
|
+
/**
|
|
46
|
+
* First-touch is written once and lives `ttlMs`; a new UTM in the address
|
|
47
|
+
* changes only current-touch. Without UTM or an external referrer the entry
|
|
48
|
+
* is direct, and that is recorded too.
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveAttribution({ search, referrer, pathname, hostname, storage, referrerMap, storageKey, ttlMs, now, }: ResolveAttributionInput): ResolvedAttribution;
|
|
51
|
+
//# sourceMappingURL=attribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/tracking/attribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAyB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtF,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACtC,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,eAAe,CAAC;IAC5B,YAAY,EAAE,eAAe,CAAC;CAC/B;AAcD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAWjE;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,WAAW,GAAE,SAAS,YAAY,EAAO,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY3C;AAmCD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAgB,EAChB,UAAmC,EACnC,KAAgC,EAChC,GAAgB,GACjB,EAAE,uBAAuB,GAAG,mBAAmB,CAwC/C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Send a body from a document that is being unloaded.
|
|
3
|
+
*
|
|
4
|
+
* The body is a **string**, so the request goes out as `text/plain` — a
|
|
5
|
+
* CORS-safelisted media type that needs no preflight, which is the only kind
|
|
6
|
+
* of request a dying document can still complete against another origin. A
|
|
7
|
+
* `Blob` typed `application/json` reports `true` and never arrives (ADR 0165).
|
|
8
|
+
* The receiving endpoint declares `safelistedBody: true`.
|
|
9
|
+
*
|
|
10
|
+
* `sendBeacon` sends no headers, so a bearer-authenticated application puts
|
|
11
|
+
* its identity in the body. Returns `false` where the API is missing.
|
|
12
|
+
*/
|
|
13
|
+
export declare function sendUnloadBeacon(url: string, body: string, sender?: Pick<Navigator, 'sendBeacon'> | undefined): boolean;
|
|
14
|
+
//# sourceMappingURL=beacon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/tracking/beacon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,SAE3B,GACZ,OAAO,CAGT"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declarative click tracking. An element marked `data-track="name"` records a
|
|
3
|
+
* click; `data-track-action="name"` records an interaction (with an optional
|
|
4
|
+
* `data-track-context`); a link to another origin records an outbound click.
|
|
5
|
+
* The attribute names are the application's to choose.
|
|
6
|
+
*/
|
|
7
|
+
/** What the resolver needs from a click target — `Element` satisfies it. */
|
|
8
|
+
export interface ClickTarget {
|
|
9
|
+
closest(selector: string): ClickTarget | null;
|
|
10
|
+
getAttribute(name: string): string | null;
|
|
11
|
+
textContent: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface TrackedClickAttributes {
|
|
14
|
+
/** Default `data-track`. */
|
|
15
|
+
track?: string;
|
|
16
|
+
/** Default `data-track-action`. */
|
|
17
|
+
action?: string;
|
|
18
|
+
/** Default `data-track-context`. */
|
|
19
|
+
context?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ResolveTrackedClickOptions {
|
|
22
|
+
/** `location.origin` — decides same-origin navigation versus outbound. */
|
|
23
|
+
origin: string;
|
|
24
|
+
attributes?: TrackedClickAttributes;
|
|
25
|
+
/** Whether an action name is one the application knows. Default: any. */
|
|
26
|
+
isAction?: (action: string) => boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface TrackedClick {
|
|
29
|
+
interaction?: {
|
|
30
|
+
action: string;
|
|
31
|
+
context?: string;
|
|
32
|
+
};
|
|
33
|
+
click?: {
|
|
34
|
+
element: string;
|
|
35
|
+
elementText?: string;
|
|
36
|
+
href?: string;
|
|
37
|
+
};
|
|
38
|
+
outbound?: {
|
|
39
|
+
href: string;
|
|
40
|
+
label?: string;
|
|
41
|
+
};
|
|
42
|
+
/** The click navigates away — send its facts on the unload path. */
|
|
43
|
+
leavesPage: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function resolveTrackedClick(target: ClickTarget | null, { origin, attributes, isAction }: ResolveTrackedClickOptions): TrackedClick | null;
|
|
46
|
+
//# sourceMappingURL=clicks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clicks.d.ts","sourceRoot":"","sources":["../../src/tracking/clicks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;CACrB;AAgBD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,EAAE,MAAM,EAAE,UAAe,EAAE,QAAqB,EAAE,EAAE,0BAA0B,GAC7E,YAAY,GAAG,IAAI,CA0CrB"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The browser tracking client — the mechanics two consuming applications
|
|
3
|
+
* each carried in a 550-line provider, as one object with no framework in it.
|
|
4
|
+
*
|
|
5
|
+
* What it owns: the visit lease and its renewal, the pending queue before the
|
|
6
|
+
* visit exists, synchronous event identity from a reserved sequence block, the
|
|
7
|
+
* outbox and its flush lease, delivery with one bounded retry, the page-leave
|
|
8
|
+
* event sent as a string beacon *and* queued as insurance, additive visible
|
|
9
|
+
* time, scroll milestones, declarative clicks, heartbeats. What it does not
|
|
10
|
+
* own: the event types and their meaning, the transport (a `deliver` the
|
|
11
|
+
* application supplies — HTTP, a socket first), the React wrapper, the
|
|
12
|
+
* session. → ADR 0166.
|
|
13
|
+
*/
|
|
14
|
+
import { type ReferrerRule, type ResolvedAttribution } from './attribution.js';
|
|
15
|
+
import { type TrackedClickAttributes } from './clicks.js';
|
|
16
|
+
import type { TrackingHost } from './host.js';
|
|
17
|
+
import type { TrackingOutbox } from './outbox.js';
|
|
18
|
+
import type { TrackEventsRequest, TrackEventsResponse, TrackingEventEnvelope, VisitBootstrapResponse, VisitEntryContext } from './schemas.js';
|
|
19
|
+
/** The names of the events the client itself emits, in the application's vocabulary. */
|
|
20
|
+
export interface BuiltinTrackingEventTypes<TType extends string> {
|
|
21
|
+
pageView: TType;
|
|
22
|
+
pageLeave: TType;
|
|
23
|
+
scrollDepth: TType;
|
|
24
|
+
heartbeat: TType;
|
|
25
|
+
click: TType;
|
|
26
|
+
outboundClick: TType;
|
|
27
|
+
interaction: TType;
|
|
28
|
+
}
|
|
29
|
+
/** The names both consuming applications happen to use. */
|
|
30
|
+
export declare const CONVENTIONAL_TRACKING_EVENT_TYPES: {
|
|
31
|
+
readonly pageView: 'PAGE_VIEW';
|
|
32
|
+
readonly pageLeave: 'PAGE_LEAVE';
|
|
33
|
+
readonly scrollDepth: 'SCROLL_DEPTH';
|
|
34
|
+
readonly heartbeat: 'SESSION_HEARTBEAT';
|
|
35
|
+
readonly click: 'CLICK';
|
|
36
|
+
readonly outboundClick: 'OUTBOUND_CLICK';
|
|
37
|
+
readonly interaction: 'INTERACTION';
|
|
38
|
+
};
|
|
39
|
+
/** The event types whose metadata is `undefined` — `track(type)` alone. */
|
|
40
|
+
export type EventsWithoutMetadata<TMetadata> = {
|
|
41
|
+
[K in keyof TMetadata & string]: TMetadata[K] extends undefined ? K : never;
|
|
42
|
+
}[keyof TMetadata & string];
|
|
43
|
+
/** The event types that carry metadata — `track(type, metadata)`. */
|
|
44
|
+
export type EventsWithMetadata<TMetadata> = {
|
|
45
|
+
[K in keyof TMetadata & string]: TMetadata[K] extends undefined ? never : K;
|
|
46
|
+
}[keyof TMetadata & string];
|
|
47
|
+
/** `track('SIGN_OUT')` or `track('CLICK', { element })` — typed by the application's metadata map. */
|
|
48
|
+
export interface TrackFn<TMetadata> {
|
|
49
|
+
<T extends EventsWithoutMetadata<TMetadata>>(type: T): void;
|
|
50
|
+
<T extends EventsWithMetadata<TMetadata>>(type: T, metadata: TMetadata[T]): void;
|
|
51
|
+
}
|
|
52
|
+
export interface TrackingClientConfig<TMetadata extends object, TEvent extends TrackingEventEnvelope<keyof TMetadata & string> = TrackingEventEnvelope<keyof TMetadata & string>> {
|
|
53
|
+
host: TrackingHost;
|
|
54
|
+
/** The build that produced the events — a git SHA or `dev`. */
|
|
55
|
+
buildId: string;
|
|
56
|
+
/** The application's names for the events the client emits itself. */
|
|
57
|
+
builtin: BuiltinTrackingEventTypes<keyof TMetadata & string>;
|
|
58
|
+
/** Issue or renew the visit — the contract client's `bootstrap`. */
|
|
59
|
+
bootstrap: (entry: VisitEntryContext) => Promise<VisitBootstrapResponse>;
|
|
60
|
+
/**
|
|
61
|
+
* Send a batch — the contract client's `track`, or a socket first and HTTP
|
|
62
|
+
* as the fallback; the client does not care which.
|
|
63
|
+
*/
|
|
64
|
+
deliver: (request: TrackEventsRequest<TEvent>) => Promise<TrackEventsResponse>;
|
|
65
|
+
/**
|
|
66
|
+
* Add the application's own fields to every event as it is minted — the
|
|
67
|
+
* `eventExtras` of the schema (a locale, an area), or the identity a client
|
|
68
|
+
* that cannot send headers on unload has to carry in the body. Runs once
|
|
69
|
+
* per event, before the outbox, the beacon and `deliver` see it.
|
|
70
|
+
*/
|
|
71
|
+
decorate?: (event: TrackingEventEnvelope<keyof TMetadata & string>) => TEvent;
|
|
72
|
+
/**
|
|
73
|
+
* Send the page-leave batch from a dying document. Default:
|
|
74
|
+
* `sendUnloadBeacon(unloadUrl, JSON.stringify(request))` — always a string
|
|
75
|
+
* body, see ADR 0165.
|
|
76
|
+
*/
|
|
77
|
+
unload?: (request: TrackEventsRequest<TEvent>) => boolean;
|
|
78
|
+
/** Where the beacon goes when `unload` is not given — the `track` URL. */
|
|
79
|
+
unloadUrl?: string;
|
|
80
|
+
/** The tab-shared outbox; omit for direct delivery only (no persistence). */
|
|
81
|
+
outbox?: TrackingOutbox<TEvent>;
|
|
82
|
+
/** A `401`/`403` recovery hook for `deliverTrackingBatch`. */
|
|
83
|
+
onUnauthorized?: () => Promise<boolean>;
|
|
84
|
+
/** Called with every visit id issued — a RUM collector, a socket auth. */
|
|
85
|
+
onVisit?: (visitId: string) => void;
|
|
86
|
+
onFailure?: (what: string, error: unknown) => void;
|
|
87
|
+
/** Whether an interaction name is one the application knows. Default: any. */
|
|
88
|
+
isAction?: (action: string) => boolean;
|
|
89
|
+
referrerMap?: readonly ReferrerRule[];
|
|
90
|
+
clickAttributes?: TrackedClickAttributes;
|
|
91
|
+
scrollMilestones?: readonly number[];
|
|
92
|
+
/** Heartbeat and flush period. Default 30 s. */
|
|
93
|
+
heartbeatMs?: number;
|
|
94
|
+
/** Hidden for at least this long → renew the visit on return. Default 30 min. */
|
|
95
|
+
renewAfterHiddenMs?: number;
|
|
96
|
+
/** Drafts kept while the visit is not yet issued. Default 100. */
|
|
97
|
+
pendingLimit?: number;
|
|
98
|
+
/**
|
|
99
|
+
* Events per request — the contract's `maxEventsPerBatch`. Default 50. A
|
|
100
|
+
* batch larger than the schema admits is a `400` that is never retried and
|
|
101
|
+
* never acknowledged, so this has to agree with the server.
|
|
102
|
+
*/
|
|
103
|
+
batchSize?: number;
|
|
104
|
+
sequence?: {
|
|
105
|
+
blockSize?: number;
|
|
106
|
+
lowWater?: number;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export interface TrackingClient<TMetadata extends object> {
|
|
110
|
+
track: TrackFn<TMetadata>;
|
|
111
|
+
/** The router tells the client about a new address; the client emits leave + view. */
|
|
112
|
+
onNavigate(pathname: string, search: string): void;
|
|
113
|
+
/** Subscribe to the host, bootstrap the visit, flush. Returns `stop`. */
|
|
114
|
+
start(): () => void;
|
|
115
|
+
visitId(): string | null;
|
|
116
|
+
browserStreamId(): string | null;
|
|
117
|
+
/** First- and current-touch attribution as last resolved, or `null` before the first page. */
|
|
118
|
+
attribution(): ResolvedAttribution | null;
|
|
119
|
+
}
|
|
120
|
+
export declare function createTrackingClient<TMetadata extends object, TEvent extends TrackingEventEnvelope<keyof TMetadata & string> = TrackingEventEnvelope<keyof TMetadata & string>>(config: TrackingClientConfig<TMetadata, TEvent>): TrackingClient<TMetadata>;
|
|
121
|
+
//# sourceMappingURL=client.d.ts.map
|