@agentsim/sdk 0.22.0 → 0.22.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.
package/README.md CHANGED
@@ -1,65 +1,66 @@
1
1
  # @agentsim/sdk
2
2
 
3
- AgentSIM is the control plane for agents hitting the real world's auth walls. SMS OTP is the first challenge type. This TypeScript/JavaScript SDK has zero runtime dependencies and works in Node.js 18+, Bun, Deno, and Edge runtimes.
3
+ We run the auth challenge so your agent doesn't die there. This TypeScript SDK is the primary published SDK: `openChallenge` opens an SMS challenge, `waitForVerdict` waits for the verdict. `provision` and `waitForOtp` are aliases that still work. Timeouts are seconds. Zero runtime dependencies. Works in Node.js 18+, Bun, Deno, and Edge runtimes.
4
4
 
5
5
  ## Install
6
6
 
7
7
  ```bash
8
- npm install @agentsim/sdk
9
- # or: bun add @agentsim/sdk
8
+ bun add @agentsim/sdk
9
+ # or: npm install @agentsim/sdk
10
10
  ```
11
11
 
12
12
  ## Quickstart
13
13
 
14
14
  ```typescript
15
- import { provision } from "@agentsim/sdk";
16
-
17
- // Using AsyncDisposable (TypeScript 5.2+, recommended)
18
- await using num = await provision({ agentId: "checkout-bot", country: "US" });
19
- await enterPhoneNumber(num.number); // "+12025550142"
20
- const otp = await num.waitForOtp({ timeout: 60 });
21
- await enterOtp(otp.otpCode); // "847291"
22
- // number auto-released via [Symbol.asyncDispose]
15
+ import { openChallenge } from "@agentsim/sdk";
16
+
17
+ await using num = await openChallenge({ agentId: "checkout-bot", country: "US" });
18
+ await enterPhoneNumber(num.number);
19
+ const otp = await num.waitForVerdict({ timeout: 60 });
20
+ await enterOtp(otp.otpCode);
23
21
  ```
24
22
 
25
23
  ```typescript
26
- // Manual release (Node 18, no using declaration)
27
- const num = await provision({ agentId: "checkout-bot" });
24
+ const num = await openChallenge({ agentId: "checkout-bot" });
28
25
  try {
29
- const otp = await num.waitForOtp();
26
+ const otp = await num.waitForVerdict();
30
27
  } finally {
31
28
  await num.release();
32
29
  }
33
30
  ```
34
31
 
32
+ `provision` / `waitForOtp` remain aliases of `openChallenge` / `waitForVerdict`.
33
+
35
34
  ## Auth
36
35
 
37
- Set `AGENTSIM_API_KEY` in your environment, or pass `apiKey` to the client constructor:
36
+ Set `AGENTSIM_API_KEY` in your environment, or pass the key as the first constructor argument:
38
37
 
39
38
  ```typescript
40
39
  import { AgentSimClient } from "@agentsim/sdk";
41
- const client = new AgentSimClient({ apiKey: "asm_live_xxx" });
40
+ const client = new AgentSimClient("asm_live_xxx");
42
41
  ```
43
42
 
44
43
  Get your API key at [console.agentsim.dev](https://console.agentsim.dev).
45
44
 
46
45
  ## API
47
46
 
48
- ### `provision(options)`
47
+ ### `openChallenge(options, clientOrApiKey?)`
49
48
 
50
- Provisions a number and returns a `NumberSession`.
49
+ Opens an SMS challenge and returns a `NumberSession`. `provision` is an alias.
51
50
 
52
51
  | Option | Type | Default | Description |
53
52
  |--------|------|---------|-------------|
54
53
  | `agentId` | `string` | required | Identifier for your agent |
55
54
  | `country` | `string` | `"US"` | ISO country code |
55
+ | `serviceUrl` | `string` | — | Target URL for policy evaluation |
56
56
  | `ttlSeconds` | `number` | `3600` | Auto-release after N seconds |
57
- | `webhookUrl` | `string` | — | POST OTPs here as they arrive |
58
- | `apiKey` | `string` | env var | Override `AGENTSIM_API_KEY` |
57
+ | `webhookUrl` | `string` | — | POST verdicts here as they arrive |
58
+
59
+ Pass an API key as the second argument, not as a field on `options`.
59
60
 
60
- ### `num.waitForOtp(options?)`
61
+ ### `num.waitForVerdict(options?)`
61
62
 
62
- Waits for an OTP to arrive on the provisioned number.
63
+ Waits for the SMS verdict. Timeout is seconds. `waitForOtp` is an alias.
63
64
 
64
65
  | Option | Type | Default |
65
66
  |--------|------|---------|
@@ -67,11 +68,11 @@ Waits for an OTP to arrive on the provisioned number.
67
68
 
68
69
  Returns `{ otpCode: string, fromNumber: string | null, receivedAt: string }`.
69
70
 
70
- Throws `OtpTimeoutError` if no OTP arrives within `timeout` seconds.
71
+ Throws `OtpTimeoutError` if no verdict arrives within `timeout` seconds.
71
72
 
72
73
  ### `num.release()`
73
74
 
74
- Releases the number back to the pool early. Called automatically by `[Symbol.asyncDispose]`.
75
+ Closes the challenge session. Called automatically by `[Symbol.asyncDispose]`.
75
76
 
76
77
  ## Error Reference
77
78
 
@@ -79,9 +80,9 @@ Releases the number back to the pool early. Called automatically by `[Symbol.asy
79
80
  |-------|------|
80
81
  | `AuthenticationError` | Missing or invalid API key |
81
82
  | `PoolExhaustedError` | No numbers available in requested country |
82
- | `OtpTimeoutError` | No OTP arrived within timeout |
83
+ | `OtpTimeoutError` | No verdict arrived within timeout |
83
84
  | `RateLimitError` | Too many requests |
84
85
 
85
86
  ## Supported Countries
86
87
 
87
- US (CA, AU, DE, FR coming soon)
88
+ US
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
- import { provision, PoolExhaustedError, OtpTimeoutError } from "./index.js";
2
+ import { provision, openChallenge, PoolExhaustedError, OtpTimeoutError } from "./index.js";
3
3
  import { AgentSimClient } from "./client.js";
4
4
  const PROVISION_RESPONSE = {
5
5
  session_id: "sess-abc123",
@@ -33,6 +33,20 @@ describe("AgentSIM TypeScript SDK", () => {
33
33
  expect(session.number).toBe("+15551234567");
34
34
  expect(session.sessionId).toBe("sess-abc123");
35
35
  });
36
+ it("openChallenge wraps provision with the same session object", async () => {
37
+ const fetchMock = makeFetch(201, PROVISION_RESPONSE);
38
+ vi.stubGlobal("fetch", fetchMock);
39
+ const session = await openChallenge({ agentId: "test-bot", ttlSeconds: 300 }, client);
40
+ expect(session.number).toBe("+15551234567");
41
+ expect(session.sessionId).toBe("sess-abc123");
42
+ expect(fetchMock).toHaveBeenCalledWith("https://api.agentsim.io/v1/sessions", expect.objectContaining({
43
+ method: "POST",
44
+ body: JSON.stringify({
45
+ agent_id: "test-bot",
46
+ ttl_seconds: 300,
47
+ }),
48
+ }));
49
+ });
36
50
  it("throws PoolExhaustedError on 503", async () => {
37
51
  vi.stubGlobal("fetch", makeFetch(503, { error: "pool_exhausted", message: "No US numbers available" }));
38
52
  await expect(provision({ agentId: "test-bot" }, client)).rejects.toBeInstanceOf(PoolExhaustedError);
@@ -61,6 +75,35 @@ describe("AgentSIM TypeScript SDK", () => {
61
75
  const result = await session.waitForOtp({ timeout: 30 });
62
76
  expect(result.otpCode).toBe("123456");
63
77
  });
78
+ it("waitForVerdict wraps waitForOtp with timeout in seconds", async () => {
79
+ const fetchMock = vi
80
+ .fn()
81
+ .mockResolvedValueOnce({
82
+ ok: true,
83
+ status: 201,
84
+ statusText: "201",
85
+ json: async () => PROVISION_RESPONSE,
86
+ })
87
+ .mockResolvedValueOnce({
88
+ ok: true,
89
+ status: 200,
90
+ statusText: "200",
91
+ json: async () => ({
92
+ otp_code: "123456",
93
+ from_number: "+15550000000",
94
+ received_at: "2026-03-16T18:00:00Z",
95
+ message_id: "msg-xyz",
96
+ }),
97
+ });
98
+ vi.stubGlobal("fetch", fetchMock);
99
+ const session = await openChallenge({ agentId: "test-bot" }, client);
100
+ const result = await session.waitForVerdict({ timeout: 30 });
101
+ expect(result.otpCode).toBe("123456");
102
+ expect(fetchMock).toHaveBeenNthCalledWith(2, "https://api.agentsim.io/v1/sessions/sess-abc123/wait", expect.objectContaining({
103
+ method: "POST",
104
+ body: JSON.stringify({ timeout_seconds: 30 }),
105
+ }));
106
+ });
64
107
  it("throws OtpTimeoutError on 408", async () => {
65
108
  vi.stubGlobal("fetch", vi
66
109
  .fn()
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,11 +4,12 @@ import type { ProvisionOptions } from "./client.js";
4
4
  export { AgentSimClient } from "./client.js";
5
5
  export { NumberSession } from "./session.js";
6
6
  export type { ProvisionOptions, OtpResult, SmsMessage, WaitForOtpOptions, ReregistrationInfo } from "./client.js";
7
+ export type { ProvisionOptions as OpenChallengeOptions, WaitForOtpOptions as WaitForVerdictOptions } from "./client.js";
7
8
  export { classifyStall } from "./playwright.js";
8
9
  export type { ChallengeChannel, LocatorLike, PageLike, StallOutcome, StallSessionEvidence } from "./playwright.js";
9
10
  export { AgentSimError, AuthenticationError, ForbiddenError, PoolExhaustedError, SessionNotFoundError, OtpTimeoutError, RateLimitError, ValidationError, ApiError, } from "./errors.js";
10
11
  /**
11
- * Provision a temporary phone number for the given agent. Starts a billable session.
12
+ * Open an SMS challenge for the given agent. Starts a billable SMS challenge session.
12
13
  *
13
14
  * **Billing:** $0.99 per session on the Builder plan. Free on Hobby (10 sessions/month limit).
14
15
  * Sessions that end with an `OtpTimeoutError` are NOT billed.
@@ -16,6 +17,19 @@ export { AgentSimError, AuthenticationError, ForbiddenError, PoolExhaustedError,
16
17
  * Returns a `NumberSession` implementing `AsyncDisposable` — use `await using`
17
18
  * in TypeScript 5.2+ for automatic release, or call `num.release()` manually.
18
19
  *
20
+ * `provision` is kept as an alias of `openChallenge`. Same options object,
21
+ * same `NumberSession`.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * await using num = await openChallenge({ agentId: "checkout-bot" });
26
+ * const otp = await num.waitForVerdict({ timeout: 60 });
27
+ * ```
28
+ */
29
+ export declare function openChallenge(options: ProvisionOptions, clientOrApiKey?: AgentSimClient | string): Promise<NumberSession>;
30
+ /**
31
+ * Alias of {@link openChallenge}. Same options, same session object.
32
+ *
19
33
  * @example
20
34
  * ```ts
21
35
  * await using num = await provision({ agentId: "checkout-bot" });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,cAAc,GAAG,MAAM,GACvC,OAAO,CAAC,aAAa,CAAC,CAkBxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClH,YAAY,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,cAAc,GAAG,MAAM,GACvC,OAAO,CAAC,aAAa,CAAC,CAkBxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,cAAc,GAAG,MAAM,GACvC,OAAO,CAAC,aAAa,CAAC,CAExB"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { NumberSession } from "./session.js";
5
5
  export { classifyStall } from "./playwright.js";
6
6
  export { AgentSimError, AuthenticationError, ForbiddenError, PoolExhaustedError, SessionNotFoundError, OtpTimeoutError, RateLimitError, ValidationError, ApiError, } from "./errors.js";
7
7
  /**
8
- * Provision a temporary phone number for the given agent. Starts a billable session.
8
+ * Open an SMS challenge for the given agent. Starts a billable SMS challenge session.
9
9
  *
10
10
  * **Billing:** $0.99 per session on the Builder plan. Free on Hobby (10 sessions/month limit).
11
11
  * Sessions that end with an `OtpTimeoutError` are NOT billed.
@@ -13,13 +13,16 @@ export { AgentSimError, AuthenticationError, ForbiddenError, PoolExhaustedError,
13
13
  * Returns a `NumberSession` implementing `AsyncDisposable` — use `await using`
14
14
  * in TypeScript 5.2+ for automatic release, or call `num.release()` manually.
15
15
  *
16
+ * `provision` is kept as an alias of `openChallenge`. Same options object,
17
+ * same `NumberSession`.
18
+ *
16
19
  * @example
17
20
  * ```ts
18
- * await using num = await provision({ agentId: "checkout-bot" });
19
- * const otp = await num.waitForOtp({ timeout: 60 });
21
+ * await using num = await openChallenge({ agentId: "checkout-bot" });
22
+ * const otp = await num.waitForVerdict({ timeout: 60 });
20
23
  * ```
21
24
  */
22
- export async function provision(options, clientOrApiKey) {
25
+ export async function openChallenge(options, clientOrApiKey) {
23
26
  let client;
24
27
  if (clientOrApiKey instanceof AgentSimClient) {
25
28
  client = clientOrApiKey;
@@ -36,4 +39,16 @@ export async function provision(options, clientOrApiKey) {
36
39
  });
37
40
  return new NumberSession(client, data);
38
41
  }
42
+ /**
43
+ * Alias of {@link openChallenge}. Same options, same session object.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * await using num = await provision({ agentId: "checkout-bot" });
48
+ * const otp = await num.waitForOtp({ timeout: 60 });
49
+ * ```
50
+ */
51
+ export async function provision(options, clientOrApiKey) {
52
+ return openChallenge(options, clientOrApiKey);
53
+ }
39
54
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB,EACzB,cAAwC;IAExC,IAAI,MAAsB,CAAC;IAE3B,IAAI,cAAc,YAAY,cAAc,EAAE,CAAC;QAC7C,MAAM,GAAG,cAAc,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAwB,MAAM,EAAE,WAAW,EAAE;QAC5E,QAAQ,EAAE,OAAO,CAAC,OAAO;QACzB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,WAAW,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACvC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC;IAEH,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,cAAwC;IAExC,IAAI,MAAsB,CAAC;IAE3B,IAAI,cAAc,YAAY,cAAc,EAAE,CAAC;QAC7C,MAAM,GAAG,cAAc,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAwB,MAAM,EAAE,WAAW,EAAE;QAC5E,QAAQ,EAAE,OAAO,CAAC,OAAO;QACzB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,WAAW,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACvC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC;IAEH,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB,EACzB,cAAwC;IAExC,OAAO,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAChD,CAAC"}
package/dist/session.d.ts CHANGED
@@ -13,11 +13,18 @@ export declare class NumberSession implements AsyncDisposable {
13
13
  constructor(client: AgentSimClient, data: ProvisionedNumberData);
14
14
  private _pollOtp;
15
15
  /**
16
- * Wait for an OTP to arrive on the provisioned number.
16
+ * Wait for the SMS challenge verdict.
17
17
  *
18
18
  * Throws `OtpTimeoutError` if no OTP is received within the timeout period.
19
19
  * Sessions that time out are NOT billed — the $0.99 charge applies only to
20
- * successfully provisioned sessions that do not time out.
20
+ * successfully opened sessions that do not time out.
21
+ *
22
+ * Timeout is seconds. `waitForOtp` is kept as an alias of `waitForVerdict`.
23
+ */
24
+ waitForVerdict(options?: WaitForOtpOptions): Promise<OtpResult>;
25
+ /**
26
+ * Alias of {@link NumberSession.waitForVerdict}. Same options object.
27
+ * Timeout is seconds.
21
28
  */
22
29
  waitForOtp(options?: WaitForOtpOptions): Promise<OtpResult>;
23
30
  getMessages(): Promise<SmsMessage[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAqB,EAAsB,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIvI,qBAAa,aAAc,YAAW,eAAe;IAcjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IAEzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,IAAI,MAAM,IAAI,MAAM,CAAyB;IAC7C,IAAI,OAAO,IAAI,MAAM,CAA0B;gBAG5B,MAAM,EAAE,cAAc,EACvC,IAAI,EAAE,qBAAqB;YAUf,QAAQ;IAoBtB;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqD/D,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IA8BpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAqB,EAAsB,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIvI,qBAAa,aAAc,YAAW,eAAe;IAcjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IAEzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,IAAI,MAAM,IAAI,MAAM,CAAyB;IAC7C,IAAI,OAAO,IAAI,MAAM,CAA0B;gBAG5B,MAAM,EAAE,cAAc,EACvC,IAAI,EAAE,qBAAqB;YAUf,QAAQ;IAoBtB;;;;;;;;OAQG;IACG,cAAc,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqDzE;;;OAGG;IACG,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAI/D,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IA8BpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C"}
package/dist/session.js CHANGED
@@ -30,13 +30,15 @@ export class NumberSession {
30
30
  };
31
31
  }
32
32
  /**
33
- * Wait for an OTP to arrive on the provisioned number.
33
+ * Wait for the SMS challenge verdict.
34
34
  *
35
35
  * Throws `OtpTimeoutError` if no OTP is received within the timeout period.
36
36
  * Sessions that time out are NOT billed — the $0.99 charge applies only to
37
- * successfully provisioned sessions that do not time out.
37
+ * successfully opened sessions that do not time out.
38
+ *
39
+ * Timeout is seconds. `waitForOtp` is kept as an alias of `waitForVerdict`.
38
40
  */
39
- async waitForOtp(options = {}) {
41
+ async waitForVerdict(options = {}) {
40
42
  const timeout = options.timeout ?? 60;
41
43
  const autoReroute = options.autoReroute ?? false;
42
44
  const maxReroutes = options.maxReroutes ?? 2;
@@ -72,6 +74,13 @@ export class NumberSession {
72
74
  }
73
75
  }
74
76
  }
77
+ /**
78
+ * Alias of {@link NumberSession.waitForVerdict}. Same options object.
79
+ * Timeout is seconds.
80
+ */
81
+ async waitForOtp(options = {}) {
82
+ return this.waitForVerdict(options);
83
+ }
75
84
  async getMessages() {
76
85
  const data = await this.client.request("GET", `/sessions/${this.sessionId}/messages`);
77
86
  return data.messages.map((m) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAU,CAAC;AAE/C,MAAM,OAAO,aAAa;IAcL;IAbX,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,CAAS;IAChB,QAAQ,CAAS;IAEhB,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,MAAM,CAAS;IAExB,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,YACmB,MAAsB,EACvC,IAA2B;QADV,WAAM,GAAN,MAAM,CAAgB;QAGvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAe;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAMpC,MAAM,EACN,aAAa,IAAI,CAAC,SAAS,OAAO,EAClC,EAAE,eAAe,EAAE,OAAO,EAAE,CAC7B,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,UAA6B,EAAE;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;QACjD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC7C,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAE9D,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhD,iEAAiE;QACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAiD,CAAC,CAAC;QAC1G,MAAM,YAAY,GAAa,UAAU,IAAI,CAAC;YAC5C,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC;QAEhC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IACE,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;oBACjC,YAAY,IAAI,WAAW;oBAC3B,QAAQ,IAAI,YAAY,CAAC,MAAM,EAC/B,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAE,CAAC;gBAC9C,YAAY,EAAE,CAAC;gBAEf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAK3C,MAAM,EACN,aAAa,IAAI,CAAC,SAAS,UAAU,EACrC,EAAE,OAAO,EAAE,WAAW,EAAE,CACzB,CAAC;gBAEF,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC;gBACtC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;gBAEpC,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrF,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAanC,KAAK,EAAE,aAAa,IAAI,CAAC,SAAS,WAAW,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,aAAa,EAAE,CAAC,CAAC,eAAe;YAChC,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;YACrC,UAAU,EAAE,CAAC,CAAC,WAAW;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentsim/sdk",
3
- "version": "0.22.0",
3
+ "version": "0.22.1",
4
4
  "description": "AgentSIM TypeScript SDK — autonomous OTP relay for AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",