@rasputin-ai/browser 0.6.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.
Files changed (52) hide show
  1. package/README.md +111 -0
  2. package/dist/browser-frames.d.ts +11 -0
  3. package/dist/browser-frames.d.ts.map +1 -0
  4. package/dist/browser-ingest-event.d.ts +10 -0
  5. package/dist/browser-ingest-event.d.ts.map +1 -0
  6. package/dist/browser-recorder.d.ts +36 -0
  7. package/dist/browser-recorder.d.ts.map +1 -0
  8. package/dist/browser-runtime-types.d.ts +207 -0
  9. package/dist/browser-runtime-types.d.ts.map +1 -0
  10. package/dist/browser-runtime.d.ts +14 -0
  11. package/dist/browser-runtime.d.ts.map +1 -0
  12. package/dist/browser-transport.d.ts +36 -0
  13. package/dist/browser-transport.d.ts.map +1 -0
  14. package/dist/captured-value.d.ts +48 -0
  15. package/dist/captured-value.d.ts.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +3706 -0
  19. package/dist/ingest-types.d.ts +75 -0
  20. package/dist/ingest-types.d.ts.map +1 -0
  21. package/dist/install-browser-handlers.d.ts +14 -0
  22. package/dist/install-browser-handlers.d.ts.map +1 -0
  23. package/dist/install-browser-runtime.d.ts +11 -0
  24. package/dist/install-browser-runtime.d.ts.map +1 -0
  25. package/dist/map-runtime-state.d.ts +4 -0
  26. package/dist/map-runtime-state.d.ts.map +1 -0
  27. package/dist/native-json-producer.d.ts +40 -0
  28. package/dist/native-json-producer.d.ts.map +1 -0
  29. package/dist/public-types.d.ts +116 -0
  30. package/dist/public-types.d.ts.map +1 -0
  31. package/dist/rasputin-init.d.ts +7 -0
  32. package/dist/rasputin-init.d.ts.map +1 -0
  33. package/dist/sdk-meta.d.ts +4 -0
  34. package/dist/sdk-meta.d.ts.map +1 -0
  35. package/dist/stack/fold-synthetic-frames.d.ts +9 -0
  36. package/dist/stack/fold-synthetic-frames.d.ts.map +1 -0
  37. package/dist/stack/parse-stack.d.ts +3 -0
  38. package/dist/stack/parse-stack.d.ts.map +1 -0
  39. package/dist/stack/raw-frame.d.ts +7 -0
  40. package/dist/stack/raw-frame.d.ts.map +1 -0
  41. package/dist/vite/artifacts.d.ts +102 -0
  42. package/dist/vite/artifacts.d.ts.map +1 -0
  43. package/dist/vite/index.d.ts +3 -0
  44. package/dist/vite/index.d.ts.map +1 -0
  45. package/dist/vite/index.js +4666 -0
  46. package/dist/vite/plugin.d.ts +48 -0
  47. package/dist/vite/plugin.d.ts.map +1 -0
  48. package/dist/vite/resolve-build-identity.d.ts +8 -0
  49. package/dist/vite/resolve-build-identity.d.ts.map +1 -0
  50. package/dist/vite/upload-browser-artifacts.d.ts +10 -0
  51. package/dist/vite/upload-browser-artifacts.d.ts.map +1 -0
  52. package/package.json +49 -0
@@ -0,0 +1,48 @@
1
+ import type { DependencyCoverage } from '@rasputin-ai/instrumentation';
2
+ import type { Plugin } from 'vite';
3
+ export type RasputinViteOptions = {
4
+ enabled?: boolean;
5
+ /** Local compile-artifact directory. Defaults to `<root>/.rasputin`. */
6
+ artifactsDir?: string;
7
+ /** Only instrument modules whose id includes one of these path segments. */
8
+ onlyIfPathIncludes?: string[];
9
+ /** Extra imports prepended to instrumented modules. Used by tests. */
10
+ bootstrapImports?: string[];
11
+ /**
12
+ * Public project DSN. Prefer `VITE_RASPUTIN_DSN`.
13
+ * Never pass a secret project API key here.
14
+ */
15
+ dsn?: string;
16
+ /**
17
+ * Where the error happened — e.g. `production`, `staging`.
18
+ * Injected into required `RasputinInit` `environment`. Blank leaves the SDK inert.
19
+ */
20
+ environment: string;
21
+ /**
22
+ * Source/deployment revision, usually a Git SHA.
23
+ * Injected into required `RasputinInit` `release` and the BrowserArtifact.
24
+ * Not the browser compilation identity. Blank leaves the SDK inert.
25
+ */
26
+ release: string;
27
+ /**
28
+ * Exact browser compilation identity. Generated automatically.
29
+ * Override only for tests; the caller then owns uniqueness.
30
+ */
31
+ buildId?: string;
32
+ /** Secret project API key used by the plugin to upload artifacts. Never injected into the browser. */
33
+ projectApiKey?: string;
34
+ apiUrl?: string;
35
+ /** When false, skip artifact upload. Default true. */
36
+ uploadArtifacts?: boolean;
37
+ /** Keep human-readable names in the bundle. Default: Vite serve / non-production. */
38
+ includeRuntimeNames?: boolean;
39
+ /** When false, instrument but do not send events. Used by local fixtures. */
40
+ ingest?: boolean;
41
+ /**
42
+ * How bundled `node_modules` / Vite dep chunks are instrumented.
43
+ * Default `provenance`: identity-only JSON/async helpers, invisible in replay.
44
+ */
45
+ dependencyCoverage?: DependencyCoverage;
46
+ };
47
+ export declare const rasputin: (options: RasputinViteOptions) => Plugin[];
48
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACX,kBAAkB,EAOlB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAcnC,MAAM,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC,CAAC;AA+KF,eAAO,MAAM,QAAQ,GAAI,SAAS,mBAAmB,KAAG,MAAM,EA0Z7D,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const isGitSha: (value: string) => boolean;
2
+ export declare const createBrowserCompileId: () => string;
3
+ export declare const normalizeExplicitCompileId: (value: string | undefined) => string;
4
+ export declare const resolveReleaseIdentity: (input: {
5
+ explicit?: string;
6
+ projectRoot: string;
7
+ }) => string;
8
+ //# sourceMappingURL=resolve-build-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-build-identity.d.ts","sourceRoot":"","sources":["../../src/vite/resolve-build-identity.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,OAAiD,CAAC;AA+B3F,eAAO,MAAM,sBAAsB,QAAO,MAA6B,CAAC;AAExE,eAAO,MAAM,0BAA0B,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MAMtE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB,KAAG,MAKH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type LocalArtifacts } from './artifacts';
2
+ export declare const uploadBrowserArtifacts: (input: {
3
+ artifacts: LocalArtifacts;
4
+ release: string;
5
+ projectApiKey?: string;
6
+ apiUrl?: string;
7
+ /** Overwrite an existing artifact for this buildId. Production uploads omit this. */
8
+ replace?: boolean;
9
+ }) => Promise<"uploaded" | "duplicate" | "conflict" | "skipped" | "failed">;
10
+ //# sourceMappingURL=upload-browser-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-browser-artifacts.d.ts","sourceRoot":"","sources":["../../src/vite/upload-browser-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAI/D,eAAO,MAAM,sBAAsB,GAAU,OAAO;IACnD,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,KAAG,OAAO,CAAC,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAsCvE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@rasputin-ai/browser",
3
+ "version": "0.6.0",
4
+ "description": "Official Rasputin AI SDK for browser applications.",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.js",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./vite": {
13
+ "types": "./dist/vite/index.d.ts",
14
+ "import": "./dist/vite/index.js",
15
+ "default": "./dist/vite/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "scripts": {
22
+ "build": "bun ../scripts/build-package.ts .",
23
+ "prepublishOnly": "npm run build && bun ../scripts/check-lockstep-versions.ts",
24
+ "pack:check": "npm run build && npm pack --dry-run",
25
+ "typecheck": "bun ../scripts/generate-sdk-meta.ts . && bunx tsc -p ../core/tsconfig.build.json && bunx tsc -p ../recorder/tsconfig.build.json && bunx tsc -p ../instrumentation/tsconfig.build.json && bunx tsc --noEmit -p tsconfig.build.json && bunx tsc --noEmit",
26
+ "lint": "biome check .",
27
+ "test": "bun test"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "peerDependencies": {
33
+ "typescript": ">=5",
34
+ "vite": ">=5"
35
+ },
36
+ "devDependencies": {
37
+ "@jridgewell/gen-mapping": "0.3.13",
38
+ "@jridgewell/trace-mapping": "0.3.31",
39
+ "@rasputin-ai/core": "workspace:*",
40
+ "@rasputin-ai/instrumentation": "workspace:*",
41
+ "@rasputin-ai/recorder": "workspace:*",
42
+ "@types/bun": "1.3.14",
43
+ "@types/node": "22.13.10",
44
+ "esbuild": "0.25.12",
45
+ "svelte": "5.55.2",
46
+ "typescript": "6.0.3",
47
+ "vite": "6.3.5"
48
+ }
49
+ }