effect-browserbase 0.2.0-beta.0 → 0.2.0-beta.1

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 (91) hide show
  1. package/README.md +47 -4
  2. package/dist/Account.d.mts +15 -15
  3. package/dist/Account.mjs +3 -3
  4. package/dist/{Acquisition-D8o4jtCg.mjs → Acquisition-CAsTTXp4.mjs} +9 -8
  5. package/dist/Acquisition-CAsTTXp4.mjs.map +1 -0
  6. package/dist/Agents-5HpTp9YE.d.mts +155 -0
  7. package/dist/Agents.d.mts +3 -154
  8. package/dist/Agents.mjs +3 -3
  9. package/dist/Allocation.d.mts +4 -4
  10. package/dist/Allocation.mjs +1 -1
  11. package/dist/Browser-DpSajNai.mjs +270 -0
  12. package/dist/Browser-DpSajNai.mjs.map +1 -0
  13. package/dist/Browser.d.mts +6 -5
  14. package/dist/Browser.mjs +2 -266
  15. package/dist/BrowserBinding.mjs +3 -3
  16. package/dist/BrowserBinding.mjs.map +1 -1
  17. package/dist/Certificates-D4NQmyeA.d.mts +34 -0
  18. package/dist/Certificates.d.mts +3 -33
  19. package/dist/Certificates.mjs +1 -1
  20. package/dist/{Client-BQteUePT.mjs → Client-4RMKIpL2.mjs} +11 -9
  21. package/dist/Client-4RMKIpL2.mjs.map +1 -0
  22. package/dist/Client-B_f6bBLT.d.mts +52 -0
  23. package/dist/Client.d.mts +3 -51
  24. package/dist/Client.mjs +1 -1
  25. package/dist/{Connection-DcvJZEdc.mjs → Connection-sxyxtwlk.mjs} +2 -11
  26. package/dist/Connection-sxyxtwlk.mjs.map +1 -0
  27. package/dist/ContextCoordination.d.mts +1 -1
  28. package/dist/ContextCoordination.mjs +1 -1
  29. package/dist/ContextCoordination.mjs.map +1 -1
  30. package/dist/{ContextWriter-BrQmoXRg.mjs → ContextWriter-oKWFLHuP.mjs} +8 -12
  31. package/dist/ContextWriter-oKWFLHuP.mjs.map +1 -0
  32. package/dist/Contexts-DqdL7cyX.d.mts +31 -0
  33. package/dist/Contexts.d.mts +3 -30
  34. package/dist/Contexts.mjs +2 -2
  35. package/dist/Contexts.mjs.map +1 -1
  36. package/dist/Downloads-CdhiCO5X.d.mts +43 -0
  37. package/dist/Downloads.d.mts +3 -42
  38. package/dist/Downloads.mjs +2 -2
  39. package/dist/Downloads.mjs.map +1 -1
  40. package/dist/Extensions-DBXuVM1f.d.mts +43 -0
  41. package/dist/{Extensions-nMNMPGCc.mjs → Extensions-Dg3jHOf0.mjs} +2 -2
  42. package/dist/Extensions-Dg3jHOf0.mjs.map +1 -0
  43. package/dist/Extensions.d.mts +3 -42
  44. package/dist/Extensions.mjs +1 -1
  45. package/dist/Functions-CsKMMUuZ.d.mts +226 -0
  46. package/dist/Functions.d.mts +3 -225
  47. package/dist/Functions.mjs +3 -3
  48. package/dist/{Launch-m0fxzJ49.mjs → Launch-cAdE2rrZ.mjs} +12 -8
  49. package/dist/Launch-cAdE2rrZ.mjs.map +1 -0
  50. package/dist/Launch.d.mts +1 -4
  51. package/dist/Launch.mjs +1 -2
  52. package/dist/Launch.mjs.map +1 -1
  53. package/dist/PageFetch-CAMqb5m8.d.mts +39 -0
  54. package/dist/PageFetch.d.mts +3 -38
  55. package/dist/PageFetch.mjs +1 -1
  56. package/dist/Projects-tm5bTDH0.d.mts +38 -0
  57. package/dist/Projects.d.mts +3 -37
  58. package/dist/Projects.mjs +1 -1
  59. package/dist/Recordings-bVI33sTq.d.mts +27 -0
  60. package/dist/Recordings.d.mts +3 -26
  61. package/dist/Recordings.mjs +2 -2
  62. package/dist/Replays-Bo-9xeLz.d.mts +27 -0
  63. package/dist/Replays.d.mts +3 -26
  64. package/dist/Replays.mjs +2 -2
  65. package/dist/Search-1g6TUem7.d.mts +37 -0
  66. package/dist/Search.d.mts +3 -36
  67. package/dist/Search.mjs +1 -1
  68. package/dist/{Sessions-tFJYaXFq.d.mts → Sessions-BpZgjteE.d.mts} +2 -2
  69. package/dist/{Sessions-DoQGg9nB.mjs → Sessions-suOLSym9.mjs} +2 -2
  70. package/dist/Sessions-suOLSym9.mjs.map +1 -0
  71. package/dist/Sessions.d.mts +1 -1
  72. package/dist/Sessions.mjs +1 -1
  73. package/dist/Testing.d.mts +119 -0
  74. package/dist/Testing.mjs +206 -0
  75. package/dist/Testing.mjs.map +1 -0
  76. package/dist/Uploads-C2neBEpj.d.mts +28 -0
  77. package/dist/Uploads.d.mts +3 -27
  78. package/dist/Uploads.mjs +2 -2
  79. package/dist/Webhooks-BoeRAxzG.d.mts +59 -0
  80. package/dist/Webhooks.d.mts +3 -58
  81. package/dist/Webhooks.mjs +1 -1
  82. package/dist/{WriterFacts-5CPBGG1P.d.mts → WriterFacts-BBJRDZYY.d.mts} +5 -13
  83. package/package.json +6 -2
  84. package/dist/Acquisition-D8o4jtCg.mjs.map +0 -1
  85. package/dist/Browser.mjs.map +0 -1
  86. package/dist/Client-BQteUePT.mjs.map +0 -1
  87. package/dist/Connection-DcvJZEdc.mjs.map +0 -1
  88. package/dist/ContextWriter-BrQmoXRg.mjs.map +0 -1
  89. package/dist/Extensions-nMNMPGCc.mjs.map +0 -1
  90. package/dist/Launch-m0fxzJ49.mjs.map +0 -1
  91. package/dist/Sessions-DoQGg9nB.mjs.map +0 -1
@@ -0,0 +1,39 @@
1
+ import { PlatformError } from "./Errors.mjs";
2
+ import { t as BrowserbaseClient } from "./Client-B_f6bBLT.mjs";
3
+ import { Context, Effect, Layer, Schema } from "effect";
4
+ //#region src/PageFetch.d.ts
5
+ declare const PageFetchRequest: Schema.Struct<{
6
+ readonly url: Schema.NonEmptyString;
7
+ readonly allowRedirects: Schema.optionalKey<Schema.Boolean>;
8
+ readonly allowInsecureSsl: Schema.optionalKey<Schema.Boolean>;
9
+ readonly proxies: Schema.optionalKey<Schema.Boolean>;
10
+ /** `raw` by default; `json` extracts with `schema`, `markdown` converts the page. */
11
+ readonly format: Schema.optionalKey<Schema.Literals<readonly ["raw", "json", "markdown"]>>;
12
+ /** A JSON Schema describing the object to extract when `format` is `json`. */
13
+ readonly schema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
14
+ }>;
15
+ type PageFetchRequest = typeof PageFetchRequest.Type;
16
+ declare const PageFetchResult_base: Schema.Class<PageFetchResult, Schema.Struct<{
17
+ readonly id: Schema.String;
18
+ readonly statusCode: Schema.Int;
19
+ readonly headers: Schema.$Record<Schema.String, Schema.String>;
20
+ readonly content: Schema.Union<readonly [Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>]>;
21
+ readonly contentType: Schema.String;
22
+ readonly encoding: Schema.String;
23
+ }>, {}>;
24
+ declare class PageFetchResult extends PageFetchResult_base {}
25
+ declare const BrowserbasePageFetch_base: Context.ServiceClass<BrowserbasePageFetch, "effect-browserbase/PageFetch", {
26
+ readonly fetch: (request: PageFetchRequest) => Effect.Effect<PageFetchResult, PlatformError>;
27
+ }>;
28
+ /**
29
+ * Browserbase's Fetch API: one page retrieved by the provider without a browser session.
30
+ * Replies are bounded by the 1 MiB control-plane limit (`reason: "limit"`); each call is
31
+ * billed and never retried. `statusCode` is the target site's status, not the API's.
32
+ */
33
+ declare class BrowserbasePageFetch extends BrowserbasePageFetch_base {
34
+ static readonly layer: Layer.Layer<BrowserbasePageFetch, never, BrowserbaseClient>;
35
+ }
36
+ //#endregion
37
+ export { PageFetchRequest as n, PageFetchResult as r, BrowserbasePageFetch as t };
38
+ export {};
39
+ //# sourceMappingURL=PageFetch-CAMqb5m8.d.mts.map
@@ -1,38 +1,3 @@
1
- import { PlatformError } from "./Errors.mjs";
2
- import { BrowserbaseClient } from "./Client.mjs";
3
- import { Context, Effect, Layer, Schema } from "effect";
4
- //#region src/PageFetch.d.ts
5
- export declare const PageFetchRequest: Schema.Struct<{
6
- readonly url: Schema.NonEmptyString;
7
- readonly allowRedirects: Schema.optionalKey<Schema.Boolean>;
8
- readonly allowInsecureSsl: Schema.optionalKey<Schema.Boolean>;
9
- readonly proxies: Schema.optionalKey<Schema.Boolean>;
10
- /** `raw` by default; `json` extracts with `schema`, `markdown` converts the page. */
11
- readonly format: Schema.optionalKey<Schema.Literals<readonly ["raw", "json", "markdown"]>>;
12
- /** A JSON Schema describing the object to extract when `format` is `json`. */
13
- readonly schema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
14
- }>;
15
- export type PageFetchRequest = typeof PageFetchRequest.Type;
16
- declare const PageFetchResult_base: Schema.Class<PageFetchResult, Schema.Struct<{
17
- readonly id: Schema.String;
18
- readonly statusCode: Schema.Int;
19
- readonly headers: Schema.$Record<Schema.String, Schema.String>;
20
- readonly content: Schema.Union<readonly [Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>]>;
21
- readonly contentType: Schema.String;
22
- readonly encoding: Schema.String;
23
- }>, {}>;
24
- export declare class PageFetchResult extends PageFetchResult_base {}
25
- declare const BrowserbasePageFetch_base: Context.ServiceClass<BrowserbasePageFetch, "effect-browserbase/PageFetch", {
26
- readonly fetch: (request: PageFetchRequest) => Effect.Effect<PageFetchResult, PlatformError>;
27
- }>;
28
- /**
29
- * Browserbase's Fetch API: one page retrieved by the provider without a browser session.
30
- * Replies are bounded by the 1 MiB control-plane limit (`reason: "limit"`); each call is
31
- * billed and never retried. `statusCode` is the target site's status, not the API's.
32
- */
33
- export declare class BrowserbasePageFetch extends BrowserbasePageFetch_base {
34
- static readonly layer: Layer.Layer<BrowserbasePageFetch, never, BrowserbaseClient>;
35
- }
36
- //#endregion
37
- export {};
38
- //# sourceMappingURL=PageFetch.d.mts.map
1
+ import { n as PageFetchRequest, r as PageFetchResult, t as BrowserbasePageFetch } from "./PageFetch-CAMqb5m8.mjs";
2
+ export { BrowserbasePageFetch, PageFetchRequest, PageFetchResult };
3
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { PlatformError } from "./Errors.mjs";
2
- import { t as BrowserbaseClient } from "./Client-BQteUePT.mjs";
2
+ import { t as BrowserbaseClient } from "./Client-4RMKIpL2.mjs";
3
3
  import { t as resource } from "./Resource-DBksC4zB.mjs";
4
4
  import { Context, Effect, Layer, Schema } from "effect";
5
5
  //#region src/PageFetch.ts
@@ -0,0 +1,38 @@
1
+ import { ProjectError } from "./Errors.mjs";
2
+ import { t as BrowserbaseClient } from "./Client-B_f6bBLT.mjs";
3
+ import { Context, Effect, Layer, Schema } from "effect";
4
+ //#region src/Projects.d.ts
5
+ declare const ProjectMetadata_base: Schema.Class<ProjectMetadata, Schema.Struct<{
6
+ readonly projectId: Schema.NonEmptyString;
7
+ readonly name: Schema.String;
8
+ readonly ownerId: Schema.String;
9
+ /** Default provider session lifetime in seconds. */
10
+ readonly defaultTimeout: Schema.Int;
11
+ /** Maximum concurrent sessions. */
12
+ readonly concurrency: Schema.Int;
13
+ readonly createdAt: Schema.String;
14
+ readonly updatedAt: Schema.String;
15
+ }>, {}>;
16
+ declare class ProjectMetadata extends ProjectMetadata_base {}
17
+ declare const ProjectUsage_base: Schema.Class<ProjectUsage, Schema.Struct<{
18
+ readonly projectId: Schema.NonEmptyString;
19
+ readonly browserMinutes: Schema.Natural;
20
+ readonly proxyBytes: Schema.Natural;
21
+ }>, {}>;
22
+ declare class ProjectUsage extends ProjectUsage_base {}
23
+ declare const BrowserbaseProjects_base: Context.ServiceClass<BrowserbaseProjects, "effect-browserbase/Projects", {
24
+ readonly list: Effect.Effect<ReadonlyArray<ProjectMetadata>, ProjectError>;
25
+ readonly retrieve: Effect.Effect<ProjectMetadata, ProjectError>;
26
+ readonly usage: Effect.Effect<ProjectUsage, ProjectError>;
27
+ }>;
28
+ /**
29
+ * Passive project inspection. `retrieve` and `usage` read the Client's own project; `list`
30
+ * reports every project the API key can see. Nothing here changes provider state.
31
+ */
32
+ declare class BrowserbaseProjects extends BrowserbaseProjects_base {
33
+ static readonly layer: Layer.Layer<BrowserbaseProjects, never, BrowserbaseClient>;
34
+ }
35
+ //#endregion
36
+ export { ProjectMetadata as n, ProjectUsage as r, BrowserbaseProjects as t };
37
+ export {};
38
+ //# sourceMappingURL=Projects-tm5bTDH0.d.mts.map
@@ -1,37 +1,3 @@
1
- import { ProjectError } from "./Errors.mjs";
2
- import { BrowserbaseClient } from "./Client.mjs";
3
- import { Context, Effect, Layer, Schema } from "effect";
4
- //#region src/Projects.d.ts
5
- declare const ProjectMetadata_base: Schema.Class<ProjectMetadata, Schema.Struct<{
6
- readonly projectId: Schema.NonEmptyString;
7
- readonly name: Schema.String;
8
- readonly ownerId: Schema.String;
9
- /** Default provider session lifetime in seconds. */
10
- readonly defaultTimeout: Schema.Int;
11
- /** Maximum concurrent sessions. */
12
- readonly concurrency: Schema.Int;
13
- readonly createdAt: Schema.String;
14
- readonly updatedAt: Schema.String;
15
- }>, {}>;
16
- export declare class ProjectMetadata extends ProjectMetadata_base {}
17
- declare const ProjectUsage_base: Schema.Class<ProjectUsage, Schema.Struct<{
18
- readonly projectId: Schema.NonEmptyString;
19
- readonly browserMinutes: Schema.Natural;
20
- readonly proxyBytes: Schema.Natural;
21
- }>, {}>;
22
- export declare class ProjectUsage extends ProjectUsage_base {}
23
- declare const BrowserbaseProjects_base: Context.ServiceClass<BrowserbaseProjects, "effect-browserbase/Projects", {
24
- readonly list: Effect.Effect<ReadonlyArray<ProjectMetadata>, ProjectError>;
25
- readonly retrieve: Effect.Effect<ProjectMetadata, ProjectError>;
26
- readonly usage: Effect.Effect<ProjectUsage, ProjectError>;
27
- }>;
28
- /**
29
- * Passive project inspection. `retrieve` and `usage` read the Client's own project; `list`
30
- * reports every project the API key can see. Nothing here changes provider state.
31
- */
32
- export declare class BrowserbaseProjects extends BrowserbaseProjects_base {
33
- static readonly layer: Layer.Layer<BrowserbaseProjects, never, BrowserbaseClient>;
34
- }
35
- //#endregion
36
- export {};
37
- //# sourceMappingURL=Projects.d.mts.map
1
+ import { n as ProjectMetadata, r as ProjectUsage, t as BrowserbaseProjects } from "./Projects-tm5bTDH0.mjs";
2
+ export { BrowserbaseProjects, ProjectMetadata, ProjectUsage };
3
+ export {};
package/dist/Projects.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Identifier } from "./References.mjs";
2
2
  import { ProjectError } from "./Errors.mjs";
3
- import { t as BrowserbaseClient } from "./Client-BQteUePT.mjs";
3
+ import { t as BrowserbaseClient } from "./Client-4RMKIpL2.mjs";
4
4
  import { t as resource } from "./Resource-DBksC4zB.mjs";
5
5
  import { Context, Effect, Layer, Schema } from "effect";
6
6
  //#region src/Projects.ts
@@ -0,0 +1,27 @@
1
+ import { a as SessionReference } from "./References-DOH3Wu44.mjs";
2
+ import { ArtifactError } from "./Errors.mjs";
3
+ import { t as BrowserbaseClient } from "./Client-B_f6bBLT.mjs";
4
+ import { t as BrowserbaseSessions } from "./Sessions-BpZgjteE.mjs";
5
+ import { c as RecordingPageReference, o as RecordingBatch, t as ArtifactTransferPolicy } from "./Transfers-GVqzrDWl.mjs";
6
+ import { Context, Effect, Layer, Stream } from "effect";
7
+ //#region src/Recordings.d.ts
8
+ interface PollOptions {
9
+ readonly timeoutMillis?: number;
10
+ readonly intervalMillis?: number;
11
+ }
12
+ /** Recording transfers share the canonical artifact bounds. */
13
+ type DownloadLimits = ArtifactTransferPolicy;
14
+ declare const BrowserbaseRecordings_base: Context.ServiceClass<BrowserbaseRecordings, "effect-browserbase/Recordings", {
15
+ readonly request: (reference: SessionReference, mode?: "initial" | "retry-failed") => Effect.Effect<RecordingBatch, ArtifactError>;
16
+ readonly status: (reference: SessionReference) => Effect.Effect<RecordingBatch, ArtifactError>;
17
+ readonly wait: (reference: SessionReference, options?: PollOptions) => Effect.Effect<RecordingBatch, ArtifactError>;
18
+ readonly download: (reference: RecordingPageReference, limits: DownloadLimits) => Stream.Stream<Uint8Array, ArtifactError>;
19
+ }>;
20
+ /** Independent of a live browser. Merely building this Layer performs no provider calls. */
21
+ declare class BrowserbaseRecordings extends BrowserbaseRecordings_base {
22
+ static readonly layer: Layer.Layer<BrowserbaseRecordings, never, BrowserbaseClient | BrowserbaseSessions>;
23
+ }
24
+ //#endregion
25
+ export { DownloadLimits as n, PollOptions as r, BrowserbaseRecordings as t };
26
+ export {};
27
+ //# sourceMappingURL=Recordings-bVI33sTq.d.mts.map
@@ -1,26 +1,3 @@
1
- import { a as SessionReference } from "./References-DOH3Wu44.mjs";
2
- import { ArtifactError } from "./Errors.mjs";
3
- import { BrowserbaseClient } from "./Client.mjs";
4
- import { t as BrowserbaseSessions } from "./Sessions-tFJYaXFq.mjs";
5
- import { c as RecordingPageReference, o as RecordingBatch, t as ArtifactTransferPolicy } from "./Transfers-GVqzrDWl.mjs";
6
- import { Context, Effect, Layer, Stream } from "effect";
7
- //#region src/Recordings.d.ts
8
- export interface PollOptions {
9
- readonly timeoutMillis?: number;
10
- readonly intervalMillis?: number;
11
- }
12
- /** Recording transfers share the canonical artifact bounds. */
13
- export type DownloadLimits = ArtifactTransferPolicy;
14
- declare const BrowserbaseRecordings_base: Context.ServiceClass<BrowserbaseRecordings, "effect-browserbase/Recordings", {
15
- readonly request: (reference: SessionReference, mode?: "initial" | "retry-failed") => Effect.Effect<RecordingBatch, ArtifactError>;
16
- readonly status: (reference: SessionReference) => Effect.Effect<RecordingBatch, ArtifactError>;
17
- readonly wait: (reference: SessionReference, options?: PollOptions) => Effect.Effect<RecordingBatch, ArtifactError>;
18
- readonly download: (reference: RecordingPageReference, limits: DownloadLimits) => Stream.Stream<Uint8Array, ArtifactError>;
19
- }>;
20
- /** Independent of a live browser. Merely building this Layer performs no provider calls. */
21
- export declare class BrowserbaseRecordings extends BrowserbaseRecordings_base {
22
- static readonly layer: Layer.Layer<BrowserbaseRecordings, never, BrowserbaseClient | BrowserbaseSessions>;
23
- }
24
- //#endregion
25
- export {};
26
- //# sourceMappingURL=Recordings.d.mts.map
1
+ import { n as DownloadLimits, r as PollOptions, t as BrowserbaseRecordings } from "./Recordings-bVI33sTq.mjs";
2
+ export { BrowserbaseRecordings, DownloadLimits, PollOptions };
3
+ export {};
@@ -1,10 +1,10 @@
1
1
  import { Identifier } from "./References.mjs";
2
2
  import { ArtifactError } from "./Errors.mjs";
3
3
  import { RecordingBatch, RecordingPage, RecordingPageReference } from "./Transfers.mjs";
4
- import { t as BrowserbaseClient } from "./Client-BQteUePT.mjs";
4
+ import { t as BrowserbaseClient } from "./Client-4RMKIpL2.mjs";
5
5
  import { n as transferPolicy } from "./TransferPolicy-DQ06i7SZ.mjs";
6
6
  import { n as nowMillis, r as until, t as deadlineAfter } from "./Deadline-CrViaogr.mjs";
7
- import { t as BrowserbaseSessions } from "./Sessions-DoQGg9nB.mjs";
7
+ import { t as BrowserbaseSessions } from "./Sessions-suOLSym9.mjs";
8
8
  import { t as requireTerminalSession } from "./Authorization-Ll5f_XNM.mjs";
9
9
  import { Context, Effect, Layer, Redacted, Schema, Semaphore, Stream } from "effect";
10
10
  //#region src/Recordings.ts
@@ -0,0 +1,27 @@
1
+ import { a as SessionReference } from "./References-DOH3Wu44.mjs";
2
+ import { ArtifactError } from "./Errors.mjs";
3
+ import { t as BrowserbaseClient } from "./Client-B_f6bBLT.mjs";
4
+ import { t as BrowserbaseSessions } from "./Sessions-BpZgjteE.mjs";
5
+ import { c as RecordingPageReference, t as ArtifactTransferPolicy, u as ReplayPage } from "./Transfers-GVqzrDWl.mjs";
6
+ import { Context, Effect, Layer, Redacted, Stream } from "effect";
7
+ //#region src/Replays.d.ts
8
+ interface ReplayAccess {
9
+ readonly reference: RecordingPageReference;
10
+ /** Temporary playback material for an authorized host route; never includes the API key. */
11
+ readonly playlist: Redacted.Redacted<string>;
12
+ readonly fetchedAtMillis: number;
13
+ readonly mediaCount: number;
14
+ /** Optional host proxy of an indexed URI from this exact playlist; no arbitrary URL parameter. */
15
+ readonly media: (index: number, limits: ArtifactTransferPolicy) => Stream.Stream<Uint8Array, ArtifactError>;
16
+ }
17
+ declare const BrowserbaseReplays_base: Context.ServiceClass<BrowserbaseReplays, "effect-browserbase/Replays", {
18
+ readonly metadata: (reference: SessionReference) => Effect.Effect<ReadonlyArray<ReplayPage>, ArtifactError>;
19
+ readonly openPage: (reference: RecordingPageReference) => Effect.Effect<ReplayAccess, ArtifactError>;
20
+ }>;
21
+ declare class BrowserbaseReplays extends BrowserbaseReplays_base {
22
+ static readonly layer: Layer.Layer<BrowserbaseReplays, never, BrowserbaseClient | BrowserbaseSessions>;
23
+ }
24
+ //#endregion
25
+ export { ReplayAccess as n, BrowserbaseReplays as t };
26
+ export {};
27
+ //# sourceMappingURL=Replays-Bo-9xeLz.d.mts.map
@@ -1,26 +1,3 @@
1
- import { a as SessionReference } from "./References-DOH3Wu44.mjs";
2
- import { ArtifactError } from "./Errors.mjs";
3
- import { BrowserbaseClient } from "./Client.mjs";
4
- import { t as BrowserbaseSessions } from "./Sessions-tFJYaXFq.mjs";
5
- import { c as RecordingPageReference, t as ArtifactTransferPolicy, u as ReplayPage } from "./Transfers-GVqzrDWl.mjs";
6
- import { Context, Effect, Layer, Redacted, Stream } from "effect";
7
- //#region src/Replays.d.ts
8
- export interface ReplayAccess {
9
- readonly reference: RecordingPageReference;
10
- /** Temporary playback material for an authorized host route; never includes the API key. */
11
- readonly playlist: Redacted.Redacted<string>;
12
- readonly fetchedAtMillis: number;
13
- readonly mediaCount: number;
14
- /** Optional host proxy of an indexed URI from this exact playlist; no arbitrary URL parameter. */
15
- readonly media: (index: number, limits: ArtifactTransferPolicy) => Stream.Stream<Uint8Array, ArtifactError>;
16
- }
17
- declare const BrowserbaseReplays_base: Context.ServiceClass<BrowserbaseReplays, "effect-browserbase/Replays", {
18
- readonly metadata: (reference: SessionReference) => Effect.Effect<ReadonlyArray<ReplayPage>, ArtifactError>;
19
- readonly openPage: (reference: RecordingPageReference) => Effect.Effect<ReplayAccess, ArtifactError>;
20
- }>;
21
- export declare class BrowserbaseReplays extends BrowserbaseReplays_base {
22
- static readonly layer: Layer.Layer<BrowserbaseReplays, never, BrowserbaseClient | BrowserbaseSessions>;
23
- }
24
- //#endregion
25
- export {};
26
- //# sourceMappingURL=Replays.d.mts.map
1
+ import { n as ReplayAccess, t as BrowserbaseReplays } from "./Replays-Bo-9xeLz.mjs";
2
+ export { BrowserbaseReplays, ReplayAccess };
3
+ export {};
package/dist/Replays.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Identifier } from "./References.mjs";
2
2
  import { ArtifactError } from "./Errors.mjs";
3
3
  import { RecordingPageReference, ReplayPage } from "./Transfers.mjs";
4
- import { t as BrowserbaseClient } from "./Client-BQteUePT.mjs";
4
+ import { t as BrowserbaseClient } from "./Client-4RMKIpL2.mjs";
5
5
  import { n as transferPolicy } from "./TransferPolicy-DQ06i7SZ.mjs";
6
- import { t as BrowserbaseSessions } from "./Sessions-DoQGg9nB.mjs";
6
+ import { t as BrowserbaseSessions } from "./Sessions-suOLSym9.mjs";
7
7
  import { t as requireTerminalSession } from "./Authorization-Ll5f_XNM.mjs";
8
8
  import { Clock, Context, Effect, Layer, Redacted, Schema, Stream } from "effect";
9
9
  //#region src/Replays.ts
@@ -0,0 +1,37 @@
1
+ import { PlatformError } from "./Errors.mjs";
2
+ import { t as BrowserbaseClient } from "./Client-B_f6bBLT.mjs";
3
+ import { Context, Effect, Layer, Schema } from "effect";
4
+ //#region src/Search.d.ts
5
+ declare const SearchQuery: Schema.Struct<{
6
+ readonly query: Schema.NonEmptyString;
7
+ /** 1–25; the provider defaults to 10. */
8
+ readonly numResults: Schema.optionalKey<Schema.Int>;
9
+ }>;
10
+ type SearchQuery = typeof SearchQuery.Type;
11
+ declare const SearchResult_base: Schema.Class<SearchResult, Schema.Struct<{
12
+ readonly id: Schema.String;
13
+ readonly url: Schema.String;
14
+ readonly title: Schema.String;
15
+ readonly author: Schema.optionalKey<Schema.String>;
16
+ readonly publishedDate: Schema.optionalKey<Schema.String>;
17
+ readonly image: Schema.optionalKey<Schema.String>;
18
+ readonly favicon: Schema.optionalKey<Schema.String>;
19
+ }>, {}>;
20
+ declare class SearchResult extends SearchResult_base {}
21
+ declare const SearchResults_base: Schema.Class<SearchResults, Schema.Struct<{
22
+ readonly requestId: Schema.String;
23
+ readonly query: Schema.String;
24
+ readonly results: Schema.$Array<typeof SearchResult>;
25
+ }>, {}>;
26
+ declare class SearchResults extends SearchResults_base {}
27
+ declare const BrowserbaseSearch_base: Context.ServiceClass<BrowserbaseSearch, "effect-browserbase/Search", {
28
+ readonly web: (query: SearchQuery) => Effect.Effect<SearchResults, PlatformError>;
29
+ }>;
30
+ /** Browserbase web search. Each call is billed and is never retried. */
31
+ declare class BrowserbaseSearch extends BrowserbaseSearch_base {
32
+ static readonly layer: Layer.Layer<BrowserbaseSearch, never, BrowserbaseClient>;
33
+ }
34
+ //#endregion
35
+ export { SearchResults as i, SearchQuery as n, SearchResult as r, BrowserbaseSearch as t };
36
+ export {};
37
+ //# sourceMappingURL=Search-1g6TUem7.d.mts.map
package/dist/Search.d.mts CHANGED
@@ -1,36 +1,3 @@
1
- import { PlatformError } from "./Errors.mjs";
2
- import { BrowserbaseClient } from "./Client.mjs";
3
- import { Context, Effect, Layer, Schema } from "effect";
4
- //#region src/Search.d.ts
5
- export declare const SearchQuery: Schema.Struct<{
6
- readonly query: Schema.NonEmptyString;
7
- /** 1–25; the provider defaults to 10. */
8
- readonly numResults: Schema.optionalKey<Schema.Int>;
9
- }>;
10
- export type SearchQuery = typeof SearchQuery.Type;
11
- declare const SearchResult_base: Schema.Class<SearchResult, Schema.Struct<{
12
- readonly id: Schema.String;
13
- readonly url: Schema.String;
14
- readonly title: Schema.String;
15
- readonly author: Schema.optionalKey<Schema.String>;
16
- readonly publishedDate: Schema.optionalKey<Schema.String>;
17
- readonly image: Schema.optionalKey<Schema.String>;
18
- readonly favicon: Schema.optionalKey<Schema.String>;
19
- }>, {}>;
20
- export declare class SearchResult extends SearchResult_base {}
21
- declare const SearchResults_base: Schema.Class<SearchResults, Schema.Struct<{
22
- readonly requestId: Schema.String;
23
- readonly query: Schema.String;
24
- readonly results: Schema.$Array<typeof SearchResult>;
25
- }>, {}>;
26
- export declare class SearchResults extends SearchResults_base {}
27
- declare const BrowserbaseSearch_base: Context.ServiceClass<BrowserbaseSearch, "effect-browserbase/Search", {
28
- readonly web: (query: SearchQuery) => Effect.Effect<SearchResults, PlatformError>;
29
- }>;
30
- /** Browserbase web search. Each call is billed and is never retried. */
31
- export declare class BrowserbaseSearch extends BrowserbaseSearch_base {
32
- static readonly layer: Layer.Layer<BrowserbaseSearch, never, BrowserbaseClient>;
33
- }
34
- //#endregion
35
- export {};
36
- //# sourceMappingURL=Search.d.mts.map
1
+ import { i as SearchResults, n as SearchQuery, r as SearchResult, t as BrowserbaseSearch } from "./Search-1g6TUem7.mjs";
2
+ export { BrowserbaseSearch, SearchQuery, SearchResult, SearchResults };
3
+ export {};
package/dist/Search.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PlatformError } from "./Errors.mjs";
2
- import { t as BrowserbaseClient } from "./Client-BQteUePT.mjs";
2
+ import { t as BrowserbaseClient } from "./Client-4RMKIpL2.mjs";
3
3
  import { t as resource } from "./Resource-DBksC4zB.mjs";
4
4
  import { Context, Effect, Layer, Schema } from "effect";
5
5
  //#region src/Search.ts
@@ -1,6 +1,6 @@
1
1
  import { a as SessionReference } from "./References-DOH3Wu44.mjs";
2
2
  import { SessionError } from "./Errors.mjs";
3
- import { BrowserbaseClient } from "./Client.mjs";
3
+ import { t as BrowserbaseClient } from "./Client-B_f6bBLT.mjs";
4
4
  import { n as SessionMetadata } from "./SessionData-5xYZDshJ.mjs";
5
5
  import { Context, Effect, Layer, Redacted, Schema } from "effect";
6
6
  //#region src/internal/browser/LiveView.d.ts
@@ -65,4 +65,4 @@ declare class BrowserbaseSessions extends BrowserbaseSessions_base {
65
65
  //#endregion
66
66
  export { SessionWaitOptions as a, SessionLogOptions as i, SessionListQuery as n, LiveView as o, SessionLogEntry as r, BrowserbaseSessions as t };
67
67
  export {};
68
- //# sourceMappingURL=Sessions-tFJYaXFq.d.mts.map
68
+ //# sourceMappingURL=Sessions-BpZgjteE.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { Identifier, SessionReference } from "./References.mjs";
2
2
  import { ClientError, SessionError } from "./Errors.mjs";
3
- import { t as BrowserbaseClient } from "./Client-BQteUePT.mjs";
3
+ import { t as BrowserbaseClient } from "./Client-4RMKIpL2.mjs";
4
4
  import { ProviderSession, SessionMetadata, SessionStatus, isTerminalSessionStatus } from "./SessionData.mjs";
5
5
  import { Clock, Context, Effect, Layer, Redacted, Schema } from "effect";
6
6
  import { BrowserError, Reasons } from "effect-browser/errors";
@@ -257,4 +257,4 @@ var BrowserbaseSessions = class BrowserbaseSessions extends Context.Service()("e
257
257
  //#endregion
258
258
  export { issueLiveView as a, SessionWaitOptions as i, SessionListQuery as n, browserRequestFailure as o, SessionLogEntry as r, BrowserbaseSessions as t };
259
259
 
260
- //# sourceMappingURL=Sessions-DoQGg9nB.mjs.map
260
+ //# sourceMappingURL=Sessions-suOLSym9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sessions-suOLSym9.mjs","names":[],"sources":["../src/internal/browser/RequestFailure.ts","../src/internal/browser/LiveView.ts","../src/Sessions.ts"],"sourcesContent":["import { BrowserError, Reasons, type BrowserReason } from \"effect-browser/errors\";\n\nimport type { ClientError } from \"../../Errors.ts\";\n\ntype RequestFailure = Pick<ClientError, \"reason\" | \"outcome\" | \"status\" | \"retryAfterMillis\">;\n\n/** Only control-plane reads reach this bridge, before a modeled browser action dispatches. */\nexport const browserRequestFailure = (\n operation: \"connect\" | \"reconnect\" | \"live-view\",\n error: RequestFailure,\n): BrowserError => {\n const reason = (): BrowserReason => {\n switch (error.reason) {\n case \"configuration\":\n return Reasons.Configuration.make({});\n case \"authorization\":\n return Reasons.Authorization.make({});\n case \"rate-limited\":\n return Reasons.RateLimited.make(\n error.retryAfterMillis === undefined ? {} : { retryAfterMillis: error.retryAfterMillis },\n );\n case \"not-found\":\n return Reasons.NotFound.make({});\n case \"active\":\n return Reasons.Active.make({});\n case \"disabled\":\n return Reasons.Disabled.make({});\n case \"expired\":\n return Reasons.Expired.make({});\n case \"transport\":\n return Reasons.Transport.make(error.status === undefined ? {} : { status: error.status });\n case \"timeout\":\n return Reasons.Timeout.make({});\n case \"malformed\":\n return Reasons.Malformed.make({});\n case \"unsafe-url\":\n return Reasons.UnsafeUrl.make({});\n case \"content-type\":\n return Reasons.ContentType.make({});\n // A control-plane limit carries no measured bound. Do not invent native Limit facts.\n case \"limit\":\n case \"provider\":\n return Reasons.Provider.make(error.status === undefined ? {} : { status: error.status });\n }\n };\n\n return BrowserError.make({\n operation,\n reason: reason(),\n outcome: error.outcome ?? \"undispatched\",\n });\n};\n","import { Effect, Redacted, Schema } from \"effect\";\n\nimport type { BrowserbaseClient } from \"../../Client.ts\";\nimport { ClientError } from \"../../Errors.ts\";\nimport { Identifier, type SessionReference } from \"../../References.ts\";\nimport { browserRequestFailure } from \"./RequestFailure.ts\";\n\nconst LiveUrl = Schema.String.check(\n Schema.isMaxLength(16384),\n Schema.makeFilter((value) => {\n try {\n const url = new URL(value);\n\n return (\n url.protocol === \"https:\" &&\n !url.username &&\n !url.password &&\n (url.hostname === \"browserbase.com\" || url.hostname.endsWith(\".browserbase.com\"))\n );\n } catch {\n return false;\n }\n }),\n);\n\nconst Live = Schema.Struct({\n debuggerFullscreenUrl: LiveUrl,\n pages: Schema.Array(Schema.Struct({ id: Identifier, debuggerFullscreenUrl: LiveUrl })).check(\n Schema.isMaxLength(64),\n ),\n});\n\nexport interface LiveView {\n readonly session: Redacted.Redacted<string>;\n readonly pages: ReadonlyArray<{\n readonly liveViewPageId: string;\n readonly url: Redacted.Redacted<string>;\n }>;\n readonly requestedTtlSeconds: number;\n}\n\n/**\n * Issuing a debugger URL is an authorization step, not proof that an operator took control.\n * The URL is redacted here so it cannot be logged or returned as an ordinary model value.\n */\nexport const issueLiveUrls = Effect.fnUntraced(function* (\n client: BrowserbaseClient[\"Service\"],\n reference: SessionReference,\n expiresInSeconds: number,\n) {\n if (!Number.isSafeInteger(expiresInSeconds) || expiresInSeconds < 1 || expiresInSeconds > 21600)\n return yield* ClientError.make({\n operation: \"provider-read\",\n reason: \"configuration\",\n outcome: \"undispatched\",\n });\n if (reference.projectId !== client.projectId)\n return yield* ClientError.make({\n operation: \"provider-read\",\n reason: \"authorization\",\n outcome: \"undispatched\",\n });\n\n const raw = yield* client.json(\n \"GET\",\n `/v1/sessions/${encodeURIComponent(reference.sessionId)}/debug?expiresIn=${expiresInSeconds}`,\n );\n\n const value = yield* Schema.decodeUnknownEffect(Live)(raw).pipe(\n Effect.mapError(() => ClientError.make({ operation: \"provider-read\", reason: \"malformed\" })),\n );\n\n return {\n session: Redacted.make(value.debuggerFullscreenUrl),\n pages: value.pages.map((page) => ({\n liveViewPageId: page.id,\n url: Redacted.make(page.debuggerFullscreenUrl),\n })),\n requestedTtlSeconds: expiresInSeconds,\n } satisfies LiveView;\n});\n\nexport const issueLiveView = (\n client: BrowserbaseClient[\"Service\"],\n reference: SessionReference,\n expiresInSeconds: number,\n) =>\n issueLiveUrls(client, reference, expiresInSeconds).pipe(\n Effect.mapError((error) => browserRequestFailure(\"live-view\", error)),\n );\n","import { Clock, Context, Effect, Layer, Schema } from \"effect\";\n\nimport { BrowserbaseClient } from \"./Client.ts\";\nimport { type ClientError, SessionError } from \"./Errors.ts\";\nimport { issueLiveUrls, type LiveView } from \"./internal/browser/LiveView.ts\";\nexport type { LiveView } from \"./internal/browser/LiveView.ts\";\nimport { SessionReference } from \"./References.ts\";\nimport {\n ProviderSession,\n SessionMetadata,\n SessionStatus,\n isTerminalSessionStatus,\n} from \"./SessionData.ts\";\nexport { SessionMetadata, SessionStatus, isTerminalSessionStatus } from \"./SessionData.ts\";\n\nexport const SessionListQuery = Schema.Struct({\n status: Schema.optionalKey(SessionStatus),\n q: Schema.optionalKey(Schema.NonEmptyString.check(Schema.isMaxLength(2048))),\n});\n\nexport type SessionListQuery = typeof SessionListQuery.Type;\n\nexport const SessionWaitOptions = Schema.Struct({\n timeoutMillis: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 600000 })),\n pollIntervalMillis: Schema.optionalKey(\n Schema.Int.check(Schema.isBetween({ minimum: 25, maximum: 5000 })),\n ),\n});\n\nexport type SessionWaitOptions = typeof SessionWaitOptions.Type;\n\nconst Millis = Schema.Finite;\n\n/**\n * One CDP-level log entry. Protocol payloads are present only when requested: they carry\n * page content, cookies and typed input, so they are host evidence, never model input.\n */\nexport class SessionLogEntry extends Schema.Class<SessionLogEntry>(\"BrowserbaseSessionLogEntry\")({\n method: Schema.String.check(Schema.isMaxLength(256)),\n pageId: Schema.Int,\n frameId: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(256))),\n loaderId: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(256))),\n timestamp: Schema.optionalKey(Millis),\n requestTimestamp: Schema.optionalKey(Millis),\n responseTimestamp: Schema.optionalKey(Millis),\n params: Schema.optionalKey(Schema.Json),\n result: Schema.optionalKey(Schema.Json),\n}) {}\n\nconst ProviderLog = Schema.Struct({\n method: SessionLogEntry.fields.method,\n pageId: Schema.Int,\n sessionId: Schema.String,\n frameId: SessionLogEntry.fields.frameId,\n loaderId: SessionLogEntry.fields.loaderId,\n timestamp: Schema.optionalKey(Millis),\n request: Schema.optionalKey(\n Schema.Struct({\n params: Schema.optionalKey(Schema.Json),\n timestamp: Schema.optionalKey(Millis),\n }),\n ),\n response: Schema.optionalKey(\n Schema.Struct({\n result: Schema.optionalKey(Schema.Json),\n timestamp: Schema.optionalKey(Millis),\n }),\n ),\n});\n\nexport interface SessionLogOptions {\n /** Include CDP `params`/`result` payloads. Off by default; see `SessionLogEntry`. */\n readonly includePayloads?: boolean;\n}\n\nconst now = Clock.monotonicTimeNanos.pipe(Effect.map((value) => Number(value) / 1000000));\n\nconst fromClient = (operation: SessionError[\"operation\"], error: ClientError): SessionError =>\n SessionError.make({\n operation,\n reason: error.reason,\n ...(error.outcome === undefined ? {} : { outcome: error.outcome }),\n ...(error.status === undefined ? {} : { status: error.status }),\n ...(error.retryAfterMillis === undefined ? {} : { retryAfterMillis: error.retryAfterMillis }),\n });\n\nconst malformed = (operation: SessionError[\"operation\"], mutation = false) =>\n SessionError.make({\n operation,\n reason: \"malformed\",\n ...(mutation ? { outcome: \"unknown\" as const } : {}),\n });\n\nconst configuration = (operation: SessionError[\"operation\"]) =>\n SessionError.make({ operation, reason: \"configuration\", outcome: \"undispatched\" });\n\n/** Passive inspection never releases a remote session. Release is a separate explicit mutation. */\nexport class BrowserbaseSessions extends Context.Service<\n BrowserbaseSessions,\n {\n readonly retrieve: (\n reference: SessionReference,\n ) => Effect.Effect<SessionMetadata, SessionError>;\n readonly list: (\n query?: SessionListQuery,\n ) => Effect.Effect<ReadonlyArray<SessionMetadata>, SessionError>;\n readonly requestRelease: (\n reference: SessionReference,\n ) => Effect.Effect<SessionMetadata, SessionError>;\n readonly waitForTerminal: (\n reference: SessionReference,\n options: SessionWaitOptions,\n ) => Effect.Effect<SessionMetadata, SessionError>;\n readonly waitUntilRunning: (\n reference: SessionReference,\n options: SessionWaitOptions,\n ) => Effect.Effect<SessionMetadata, SessionError>;\n /** Session logs, bounded by the 1 MiB control-plane reply limit (`reason: \"limit\"`). */\n readonly logs: (\n reference: SessionReference,\n options?: SessionLogOptions,\n ) => Effect.Effect<ReadonlyArray<SessionLogEntry>, SessionError>;\n /**\n * Redacted Live View URLs for any session in the project, owned or not. Issuing a URL\n * grants view and input access to whoever holds it; it does not pause automation.\n */\n readonly liveUrls: (\n reference: SessionReference,\n expiresInSeconds?: number,\n ) => Effect.Effect<LiveView, SessionError>;\n }\n>()(\"effect-browserbase/Sessions\") {\n static readonly layer: Layer.Layer<BrowserbaseSessions, never, BrowserbaseClient> = Layer.effect(\n BrowserbaseSessions,\n Effect.gen(function* () {\n const client = yield* BrowserbaseClient;\n\n const validate = Effect.fnUntraced(function* (\n reference: SessionReference,\n operation: SessionError[\"operation\"],\n ) {\n const ref = yield* Schema.decodeEffect(SessionReference)(reference, {\n onExcessProperty: \"error\",\n }).pipe(Effect.mapError(() => configuration(operation)));\n\n if (ref.projectId !== client.projectId)\n return yield* SessionError.make({\n operation,\n reason: \"authorization\",\n outcome: \"undispatched\",\n });\n\n return ref;\n });\n\n const decode = Effect.fnUntraced(function* (\n raw: unknown,\n operation: SessionError[\"operation\"],\n expected?: SessionReference,\n mutation: boolean = false,\n ) {\n const value = yield* Schema.decodeUnknownEffect(ProviderSession)(raw).pipe(\n Effect.mapError(() => malformed(operation, mutation)),\n );\n\n if (\n value.projectId !== client.projectId ||\n (expected !== undefined &&\n (value.id !== expected.sessionId || value.projectId !== expected.projectId))\n )\n return yield* malformed(operation, mutation);\n const { id, projectId, ...metadata } = value;\n\n return SessionMetadata.make({\n reference: SessionReference.make({ provider: \"browserbase\", projectId, sessionId: id }),\n ...metadata,\n });\n });\n\n const read = Effect.fnUntraced(function* (reference: SessionReference, deadline?: number) {\n const ref = yield* validate(reference, \"session-retrieve\");\n\n const raw = yield* client\n .json(\"GET\", `/v1/sessions/${encodeURIComponent(ref.sessionId)}`, undefined, deadline)\n .pipe(Effect.mapError((error) => fromClient(\"session-retrieve\", error)));\n\n return yield* decode(raw, \"session-retrieve\", ref);\n });\n\n const retrieve = Effect.fn(\"BrowserbaseSessions.retrieve\")(function* (\n reference: SessionReference,\n ) {\n return yield* read(reference);\n });\n\n const list = Effect.fn(\"BrowserbaseSessions.list\")(function* (query: SessionListQuery = {}) {\n const checked = yield* Schema.decodeEffect(SessionListQuery)(query, {\n onExcessProperty: \"error\",\n }).pipe(Effect.mapError(() => configuration(\"session-list\")));\n\n const search = new URLSearchParams();\n\n if (checked.status !== undefined) search.set(\"status\", checked.status);\n if (checked.q !== undefined) search.set(\"q\", checked.q);\n\n const raw = yield* client\n .json(\"GET\", `/v1/sessions${search.size === 0 ? \"\" : `?${search}`}`)\n .pipe(Effect.mapError((error) => fromClient(\"session-list\", error)));\n\n const rows = yield* Schema.decodeUnknownEffect(\n Schema.Array(ProviderSession).check(Schema.isMaxLength(1024)),\n )(raw).pipe(Effect.mapError(() => malformed(\"session-list\")));\n\n if (new Set(rows.map((row) => row.id)).size !== rows.length)\n return yield* malformed(\"session-list\");\n const output: SessionMetadata[] = [];\n\n for (const row of rows) output.push(yield* decode(row, \"session-list\"));\n\n return output;\n });\n\n const requestRelease = Effect.fn(\"BrowserbaseSessions.requestRelease\")(function* (\n reference: SessionReference,\n ) {\n const ref = yield* validate(reference, \"session-release\");\n\n const raw = yield* client\n .json(\"POST\", `/v1/sessions/${encodeURIComponent(ref.sessionId)}`, {\n projectId: ref.projectId,\n status: \"REQUEST_RELEASE\",\n })\n .pipe(Effect.mapError((error) => fromClient(\"session-release\", error)));\n\n return yield* decode(raw, \"session-release\", ref, true);\n });\n\n const wait = Effect.fnUntraced(function* (\n reference: SessionReference,\n options: SessionWaitOptions,\n untilRunning: boolean,\n ) {\n const bounds = yield* Schema.decodeEffect(SessionWaitOptions)(options, {\n onExcessProperty: \"error\",\n }).pipe(Effect.mapError(() => configuration(\"session-wait\")));\n\n const deadline = (yield* now) + bounds.timeoutMillis;\n\n for (;;) {\n const remaining = deadline - (yield* now);\n\n if (remaining <= 0)\n return yield* SessionError.make({ operation: \"session-wait\", reason: \"timeout\" });\n\n // The deadline bounds the provider read too, not just sleeps between reads.\n const metadata = yield* read(reference, deadline).pipe(\n Effect.timeoutOrElse({\n duration: remaining,\n orElse: () =>\n Effect.fail(SessionError.make({ operation: \"session-wait\", reason: \"timeout\" })),\n }),\n );\n\n if (\n untilRunning ? metadata.status === \"RUNNING\" : isTerminalSessionStatus(metadata.status)\n )\n return metadata;\n if (untilRunning && isTerminalSessionStatus(metadata.status))\n return yield* SessionError.make({ operation: \"session-wait\", reason: \"expired\" });\n yield* Effect.sleep(\n Math.max(0, Math.min(bounds.pollIntervalMillis ?? 250, deadline - (yield* now))),\n );\n }\n });\n\n const logs = Effect.fn(\"BrowserbaseSessions.logs\")(function* (\n reference: SessionReference,\n options: SessionLogOptions = {},\n ) {\n const ref = yield* validate(reference, \"session-logs\");\n\n const raw = yield* client\n .json(\"GET\", `/v1/sessions/${encodeURIComponent(ref.sessionId)}/logs`)\n .pipe(Effect.mapError((error) => fromClient(\"session-logs\", error)));\n\n const rows = yield* Schema.decodeUnknownEffect(\n Schema.Array(ProviderLog).check(Schema.isMaxLength(100_000)),\n )(raw).pipe(Effect.mapError(() => malformed(\"session-logs\")));\n\n if (rows.some((row) => row.sessionId !== ref.sessionId))\n return yield* malformed(\"session-logs\");\n\n return rows.map((row) =>\n SessionLogEntry.make({\n method: row.method,\n pageId: row.pageId,\n ...(row.frameId === undefined ? {} : { frameId: row.frameId }),\n ...(row.loaderId === undefined ? {} : { loaderId: row.loaderId }),\n ...(row.timestamp === undefined ? {} : { timestamp: row.timestamp }),\n ...(row.request?.timestamp === undefined\n ? {}\n : { requestTimestamp: row.request.timestamp }),\n ...(row.response?.timestamp === undefined\n ? {}\n : { responseTimestamp: row.response.timestamp }),\n ...(options.includePayloads === true && row.request?.params !== undefined\n ? { params: row.request.params }\n : {}),\n ...(options.includePayloads === true && row.response?.result !== undefined\n ? { result: row.response.result }\n : {}),\n }),\n );\n });\n\n const liveUrls = Effect.fn(\"BrowserbaseSessions.liveUrls\")(function* (\n reference: SessionReference,\n expiresInSeconds: number = 300,\n ) {\n const ref = yield* validate(reference, \"session-live-view\");\n\n return yield* issueLiveUrls(client, ref, expiresInSeconds).pipe(\n Effect.mapError((error) => fromClient(\"session-live-view\", error)),\n );\n });\n\n return BrowserbaseSessions.of({\n logs,\n liveUrls,\n retrieve,\n list,\n requestRelease,\n waitForTerminal: (ref, options) => wait(ref, options, false),\n waitUntilRunning: (ref, options) => wait(ref, options, true),\n });\n }),\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as SessionWaitOptions, i as SessionLogOptions, n as SessionListQuery, o as LiveView, r as SessionLogEntry, t as BrowserbaseSessions } from "./Sessions-tFJYaXFq.mjs";
1
+ import { a as SessionWaitOptions, i as SessionLogOptions, n as SessionListQuery, o as LiveView, r as SessionLogEntry, t as BrowserbaseSessions } from "./Sessions-BpZgjteE.mjs";
2
2
  import { i as isTerminalSessionStatus, n as SessionMetadata, r as SessionStatus } from "./SessionData-5xYZDshJ.mjs";
3
3
  export { BrowserbaseSessions, type LiveView, SessionListQuery, SessionLogEntry, SessionLogOptions, SessionMetadata, SessionStatus, SessionWaitOptions, isTerminalSessionStatus };
4
4
  export {};
package/dist/Sessions.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import { SessionMetadata, SessionStatus, isTerminalSessionStatus } from "./SessionData.mjs";
2
- import { i as SessionWaitOptions, n as SessionListQuery, r as SessionLogEntry, t as BrowserbaseSessions } from "./Sessions-DoQGg9nB.mjs";
2
+ import { i as SessionWaitOptions, n as SessionListQuery, r as SessionLogEntry, t as BrowserbaseSessions } from "./Sessions-suOLSym9.mjs";
3
3
  export { BrowserbaseSessions, SessionListQuery, SessionLogEntry, SessionMetadata, SessionStatus, SessionWaitOptions, isTerminalSessionStatus };