@robono/server 0.9.1 → 0.13.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 (55) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +133 -1
  3. package/SBOM.spdx.json +9 -9
  4. package/dist/adapter-smoke-test.js +0 -0
  5. package/dist/adapter.d.ts +1 -1
  6. package/dist/adapter.d.ts.map +1 -1
  7. package/dist/adapter.js +5 -0
  8. package/dist/adapter.js.map +1 -1
  9. package/dist/calling.d.ts +106 -0
  10. package/dist/calling.d.ts.map +1 -0
  11. package/dist/calling.js +112 -0
  12. package/dist/calling.js.map +1 -0
  13. package/dist/client.d.ts +7 -1
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +12 -0
  16. package/dist/client.js.map +1 -1
  17. package/dist/index.d.ts +12 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +8 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/location-chat.d.ts +15 -0
  22. package/dist/location-chat.d.ts.map +1 -0
  23. package/dist/location-chat.js +18 -0
  24. package/dist/location-chat.js.map +1 -0
  25. package/dist/location.d.ts +36 -0
  26. package/dist/location.d.ts.map +1 -0
  27. package/dist/location.js +93 -0
  28. package/dist/location.js.map +1 -0
  29. package/dist/managed-media.d.ts +31 -0
  30. package/dist/managed-media.d.ts.map +1 -0
  31. package/dist/managed-media.js +40 -0
  32. package/dist/managed-media.js.map +1 -0
  33. package/dist/messaging-media.d.ts +78 -0
  34. package/dist/messaging-media.d.ts.map +1 -0
  35. package/dist/messaging-media.js +110 -0
  36. package/dist/messaging-media.js.map +1 -0
  37. package/dist/messaging-transforms.d.ts +18 -0
  38. package/dist/messaging-transforms.d.ts.map +1 -0
  39. package/dist/messaging-transforms.js +58 -0
  40. package/dist/messaging-transforms.js.map +1 -0
  41. package/dist/messaging.d.ts +83 -0
  42. package/dist/messaging.d.ts.map +1 -0
  43. package/dist/messaging.js +142 -0
  44. package/dist/messaging.js.map +1 -0
  45. package/dist/push.d.ts +3 -1
  46. package/dist/push.d.ts.map +1 -1
  47. package/dist/push.js +20 -0
  48. package/dist/push.js.map +1 -1
  49. package/dist/sandbox-test.js +0 -0
  50. package/dist/types.d.ts +143 -2
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/webhooks.d.ts.map +1 -1
  53. package/dist/webhooks.js +56 -0
  54. package/dist/webhooks.js.map +1 -1
  55. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.0
4
+
5
+ - Calling: backend monitoring and revision-numbered per-user permissions for own-network and Bridge calls.
6
+
7
+ Managed messaging and attachments, Maps and location sessions, movement consent, geofence rules, usage reporting and backend adapters. Existing Bridge and calling entry points remain available.
8
+
9
+
10
+ ## Unreleased
11
+
12
+ - Group admission and relationship helpers, separate screen-sharing permission, group webhook verification/push routing, and an authenticated on-demand message transcription/translation adapter. Source content and private media are resolved server-side; access is rechecked after conversion.
13
+
14
+ ## 0.12.1
15
+
16
+ - Webhook signature verification imports Buffer explicitly, supporting Deno and Supabase without a global polyfill. Signature and timestamp validation are unchanged.
17
+
18
+ ## 0.12.0
19
+
20
+ - `RobonoCallingBackend.appearance()` retrieves the integration’s versioned screen and sound configuration.
21
+
22
+ ## 0.11.0
23
+
24
+ - Add backend calling sessions, optional incoming-call webhooks, and revision-protected same-network calling permissions through `RobonoCallingBackend`.
25
+ - Preserve server-only network credentials and validate the configured calling service before exchanging admission tickets.
26
+
27
+ ## 0.10.0
28
+
29
+ - Adds typed, verified `calling.incoming` and `calling.dismissed` webhooks.
30
+ - Adds `toCallingPushPayload` for routing call invitations to the recipient’s own devices.
31
+ - Calling events use a separate push helper; existing message delivery is unchanged.
32
+
33
+ - Adds typed machine-readable pricing discovery and runtime validation for signed `pricing.updated` webhooks.
34
+ - Adds the protected `/robono/pricing` adapter route for browser and mobile clients.
35
+ - Represents post-allowance SMS invitations as zero-markup actual-provider-cost billing instead of a fixed worldwide rate.
36
+
3
37
  ## 0.9.1
4
38
 
5
39
  - Adds the connected-app account-deletion lifecycle to typed connections, historical messages, and signed webhook events.
package/README.md CHANGED
@@ -11,9 +11,11 @@ Robono's own app and third-party connected apps appear as endpoints in the same
11
11
  ## Install
12
12
 
13
13
  ```bash
14
- npm install @robono/server
14
+ npm install @robono/server@0.12.1
15
15
  ```
16
16
 
17
+ Version 0.12.1 is available on npm and through the [calling release](https://github.com/IMLX16/robono-sdks/releases/tag/calling-v0.2.1), with checksums and source.
18
+
17
19
  The package is ESM-only, supports Node.js 18+ and Deno 2.x through npm compatibility, and includes TypeScript declarations and `SBOM.spdx.json`.
18
20
 
19
21
  CommonJS applications must use a dynamic import:
@@ -107,6 +109,18 @@ code for application logic and the technical error message for logs.
107
109
  The preference localizes Robono-generated user notices; it does not translate
108
110
  chat content or developer diagnostics.
109
111
 
112
+ ## Pricing changes
113
+
114
+ Read the effective and next scheduled machine-readable catalogs with
115
+ `await robono.pricing()`. After verifying a signed `pricing.updated` webhook,
116
+ fetch its immutable snapshot with
117
+ `await robono.pricing({ version: event.catalog_version })` and apply it no
118
+ earlier than `event.effective_at`. Cache by catalog version rather than plan
119
+ name. The public recovery endpoint is `GET https://api.robono.com/v1/pricing`.
120
+ Rates identify `fixed_unit` or `actual_provider_cost` billing. SMS invitations
121
+ above the included count pass through aggregate Telnyx cost with no markup;
122
+ they do not expose one fixed worldwide rate.
123
+
110
124
  For delayed webhooks, `code` and `parameters` are authoritative. An included
111
125
  translation is only a convenience for the event participant. Localize the same
112
126
  event separately for a child, guardian, or other viewer when their languages
@@ -207,3 +221,121 @@ Include the package version, runtime, safe reproduction steps, and request ID;
207
221
  never include credentials or private message content.
208
222
 
209
223
  See the complete build flow, optional language and privacy operations, platform support, and testing guide at [robono.com/docs](https://robono.com/docs).
224
+
225
+ ## Calling from your backend
226
+
227
+ `RobonoCallingBackend` is separate from the messaging client and does not install calling screens. Copy the admission and service addresses from **Calling → Calling access** in your project. Keep the network API key on your server; it needs `calling:connect` scope.
228
+
229
+ Choose **Standalone calling** when creating an integration to offer calls only between your own users. This does not list your app on the Bridge or require your users to create Robono accounts. Bridge integrations can offer both same-app and cross-app calls.
230
+
231
+ ```ts
232
+ import { RobonoCallingBackend } from '@robono/server';
233
+ const calling = new RobonoCallingBackend({
234
+ admissionUrl: process.env.ROBONO_CALLING_ADMISSION_URL!,
235
+ serviceUrl: process.env.ROBONO_CALLING_SERVICE_URL!,
236
+ apiKey: process.env.ROBONO_NETWORK_API_KEY!,
237
+ });
238
+ // Authenticate the request with your existing app session first.
239
+ const session = await calling.createSession(authenticatedUser.externalId);
240
+ // Return session only to this user, over HTTPS, with Cache-Control: no-store.
241
+ ```
242
+
243
+ If you use the optional Robono screens, configure their appearance in the website's **Calling** workspace. Fetch the saved design on your backend and include it with the session:
244
+
245
+ ```ts
246
+ const design = await calling.appearance();
247
+ return { ...session, appearance: design.appearance, appearanceRevision: design.revision };
248
+ ```
249
+
250
+ Apps with their own screens can omit this step. The design contains presentation data only. Refresh it between calls; keep one revision during an active call.
251
+
252
+ For two existing friends in your own app, synchronize their calling permission from your backend:
253
+
254
+ ```ts
255
+ const relationship = await calling.setRelationship({
256
+ externalUserIds: [friendship.firstUserId, friendship.secondUserId],
257
+ allowed: friendship.accepted && friendship.bothAllowCalls && !friendship.blocked,
258
+ revision: friendship.revision,
259
+ });
260
+ // Save relationship.connectionId on the existing conversation.
261
+ ```
262
+
263
+ Keep a persisted increasing revision per user pair. Synchronize a higher revision with `allowed: false` on blocks, removals, account deletion or lost calling permission. Repeating the same revision and value safely recovers a lost response. An older revision or conflicting value at the same revision returns 409; reconcile against your current database state before retrying. Do not blindly retry a stale permission with a higher revision. Two different networks continue using their accepted `bridge:` reference; Messenger conversations use `app:`. Same-network references begin with `network:`.
264
+
265
+ `calling.notifications(true)` enables signed incoming/dismissed events on your configured webhook; `false` disables them and no argument reads the setting. The methods make one request per operation rather than retrying immediately on rate limits. Errors expose `status`, `code` and `retryAfterMs`. Network API keys are never sent to the calling media service or mobile clients. A new session does not transfer an active call.
266
+
267
+
268
+ ## Standalone messaging media
269
+
270
+ `RobonoMessagingBackend` and `createMessagingBackendAdapter` support messaging using your existing users. For managed private attachments, select **Store attachments with Robono** in the Experience builder and use `RobonoManagedMedia` on your backend. Integrating apps need only their Robono server API key, not storage-provider credentials. Existing private-storage implementations remain supported.
271
+
272
+ ```ts
273
+ const storage = new RobonoManagedMedia({ apiKey: process.env.ROBONO_API_KEY! });
274
+ const mediaEndpoint = createMessagingMediaBackendAdapter({
275
+ robono: messagingBackend, authenticate, authorize: authorizeMedia, storage,
276
+ });
277
+ const messagesEndpoint = createMessagingBackendAdapter({
278
+ robono: messagingBackend, authenticate, authorize: authorizeMessage,
279
+ resolveMedia: input => storage.resolve(input),
280
+ });
281
+ ```
282
+
283
+ Managed storage verifies the actual file format, size and recording duration. Pending uploads reserve space against the project's storage limit. Unsent uploads expire after one day; sent files use the saved retention period. Removed messages revoke download access and schedule file deletion. Copies already saved on devices remain. Changing retention affects newly prepared uploads; it does not silently shorten existing files' lifetimes.
284
+
285
+ The media adapter authenticates the user, runs your authorization callback, then checks current conversation membership and saved attachment rules with Robono before preparing or completing an upload. A download must reference an existing message; an arbitrary asset ID is insufficient. Use `resolveMedia` on your messaging adapter to load verified metadata scoped to the actor and conversation before sending. Enforce actual type, byte size and audio/video duration in your storage completion implementation rather than trusting the phone's claims.
286
+
287
+ Storage operations are `prepare`, `complete`, `download` and `discard`. Prepare/completion are repeatable using the same upload ID, signed transfer URLs must use HTTPS, and discard must never remove an asset already referenced by a message. Keep upload metadata durable and expire abandoned uploads. Handle signed `messaging.message_removed` cleanup events and delete associated media during account erasure. See the [optional mobile media integration](https://robono.com/docs#messaging) for the complete transport contract.
288
+
289
+
290
+ ### Group membership and unanswered-call messages
291
+
292
+ `RobonoMessagingBackend.setGroup` synchronizes a complete, revisioned same-app membership snapshot. It takes `externalGroupId`, `name`, `revision`, `allowed`, and `members` (`userId`, `canSend`, optional per-message-type `features`). Store the returned conversation ID. Send a higher persisted revision when membership or restrictions change; do not retry a stale allow snapshot with an invented revision. This operation requires `messaging:manage` and is not exposed by `createMessagingBackendAdapter`.
293
+
294
+ For optional messages after unanswered calls, supply `resolveUnansweredCall` and `resolveMedia` to `createMessagingBackendAdapter`. Resolve the call with `RobonoCallingBackend.unansweredCall(authenticatedUserId, callId)`, check its `connectionId` against your own conversation mapping, then return an `UnansweredCallRecord` with the caller ID, conversation ID and current message/calling permissions. Return `null` if the mapping or authorization fails. The adapter only offers a message for `reason: 'no_answer'` with no answer or connection timestamp. It rechecks saved settings, permissions and verified media before sending. Client-supplied state is not trusted.
295
+
296
+ The adapter exposes `call-message-options` and `send-call-message` to authenticated users; both remain behind your `authorize` callback. The network API receives an ordinary message send, with the original retry identity. Group message notifications are per recipient, while accepted-message metering remains once per message. Group account erasure emits media cleanup events with `reason: 'account_deleted'`; handle these alongside `history_limit` events.
297
+
298
+ Video permission is independent of voice: `calling.setRelationship({externalUserIds, allowed: true, videoAllowed: true, revision})` must reflect both users' current permissions. Omit `videoAllowed` to preserve the existing choice, or set it to false with a higher revision to revoke video. Enable video in the app's Experience builder too. Across the Bridge, publish `calling.video: true` on each side's accepted connection when permitted. The receiving app's calling webhook and push payload include `kind: 'voice' | 'video'`; clients still verify current call state before presenting or answering it.
299
+
300
+ The calling appearance response also supplies `features` (`voice`, `video`, `ownNetwork`, and `crossNetwork`) from the website configuration. Voice and video can be selected separately. Use the client’s contact availability result before displaying either call button; the service checks current permissions when starting the call. Older responses may omit `features`, so use contact availability as the authoritative fallback.
301
+
302
+ ### Group calling and selected-message language tools
303
+
304
+ `calling.setGroup({externalGroupId, members, allowed, revision, connectionIds?})` synchronizes an app-owned calling group of two to eight members. A member supplies `userId`, `voice`, `video` and optionally `appId` for another network. Own-network groups need no Bridge membership. Cross-network groups require currently accepted pairwise connections in `connectionIds`; an app cannot grant permissions for someone in another app. Persist a monotonic revision and retry lost responses without changing it. The returned `group:` connection ID uses the separate group client and group webhook events.
305
+
306
+ `createMessagingTransformBackendAdapter` supplies an authenticated HTTP handler for selected-message transcription and translation. Configure `robono` (your messaging backend), `speech` (`robono.transforms`), `storage` (private signed audio URL resolver), `authenticate` and `authorize`. Accept only `operation`, `conversationId`, `messageId` and translation `language` from the client. The adapter reads the authoritative message, checks current membership/settings before and after processing, and returns text without changing the original. `MessagingClient.transformRequest` points to this handler. Language processing remains separately metered through the speech service; no whole-conversation scanning is involved.
307
+
308
+ ### Hosted messaging moderation
309
+
310
+ The end-user messaging adapter accepts `safety`, `block`, `unblock`, and `report`. Authorize conversation membership separately from permission to send, so blocked users can still read retained history, report, or unblock. Actor identity comes from your authenticated session. Report IDs are idempotent per app and reporter; reuse the same request ID and content after a lost response.
311
+
312
+ Trusted moderator servers use `messaging.reports(status?)`, `messaging.resolveReport({reportId, resolution, reason, reviewerId})` and `messaging.restoreUser(userId)`, requiring `messaging:manage`. Authenticate and authorize moderators before calling them. These operations cannot pass through `createMessagingBackendAdapter`. Resolutions are `no_action`, `remove_content`, or `suspend_user` (also removes reported content). Restoring access preserves personal blocks and does not restore removed content.
313
+
314
+ A signed `messaging.report_created` webhook contains a report ID; retrieve evidence with the management API. Reports capture only user-selected content or up to five incoming messages and the reason. Private evidence, identities and review notes expire after 30 days; decision status and dates remain. Queue results include the oldest 100 reports, prioritizing open reports, and current suspended user IDs. Reports over 24 hours old are marked overdue. Owners and admins can also review these in the website’s Messaging workspace.
315
+
316
+ Removed attachments produce `messaging.message_removed` with reason `moderation`. Delete the private asset from your store. Media references in report evidence must be reviewed through your own authenticated media tools; never expose moderator access or signed media URLs to ordinary users. Hosted own-app blocks/suspensions are enforced on message operations and call admission, independently of screen choice. Bridge connections continue to use the Bridge connection safety APIs.
317
+
318
+ ### Usage and spending limits
319
+
320
+ Create a server key with `billing:read`, then call `await robono.usage()`. The result covers the current organization’s live billing period across all its apps. `spentMicros` is completed usage; `committedMicros` includes reservations for work in progress. Divide USD millionths by 1,000,000 to display dollars. Test requests do not add charges. Read-only access remains available when billing is inactive, provided the integration and key remain authorized.
321
+
322
+ The usage response is a snapshot, not permission to start more work. Robono checks the shared spending limit at admission, including simultaneous requests. Owners set the limit in Usage & costs; API keys and devices cannot raise it. On `spending_limit_reached`, stop starting new work and show your app’s limit message. Do not retry this error in a loop.
323
+
324
+ Calls are billed per participant’s active connected time. Two of your users connected for ten minutes count as twenty participant-minutes. Across the Bridge, each app pays for its own participants. Ringing, connection setup and held time are excluded. Component-use reports describe which optional screens are used; they are not the source of charges.
325
+
326
+ ### Calling permissions and monitoring
327
+
328
+ Use `calling.setUserPermissions({externalUserId, enabled, voice, video, revision})`
329
+ when a user's permission changes. Keep a persisted increasing revision per user;
330
+ identical retries are safe. A stale revision or different values at the same
331
+ revision returns 409. These restrictions apply alongside relationship permissions
332
+ to calls within your app and across the Bridge.
333
+
334
+ `await calling.monitoring()` returns current activity, settled monthly usage,
335
+ organization-wide committed costs and recent integration alerts. Fetch it from
336
+ your backend at most once per minute. Signed `calling.alert` webhooks report
337
+ capacity/spending warnings and increased failures. Verify and deduplicate the
338
+ event ID using the existing webhook helpers.
339
+
340
+ See [calling limits, billing rules and recovery](https://robono.com/docs#calling-reliability)
341
+ for defaults, alert fields, revision conflicts, retry timing and active-call behavior.
package/SBOM.spdx.json CHANGED
@@ -2,22 +2,22 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "@robono/server@0.9.1",
6
- "documentNamespace": "http://spdx.org/spdxdocs/@robono%2fserver-0.9.1-7fba9175-5b6e-4696-abc3-1e56aa3eca31",
5
+ "name": "@robono/server@0.13.0",
6
+ "documentNamespace": "http://spdx.org/spdxdocs/@robono%2fserver-0.13.0-***",
7
7
  "creationInfo": {
8
- "created": "2026-08-24T07:32:55.119Z",
8
+ "created": "2026-10-28T21:08:15.810Z",
9
9
  "creators": [
10
- "Tool: npm/cli-12.0.2"
10
+ "Tool: npm/cli-11.6.2"
11
11
  ]
12
12
  },
13
13
  "documentDescribes": [
14
- "SPDXRef-Package-robono.server-0.9.1"
14
+ "SPDXRef-Package-robono.server-0.13.0"
15
15
  ],
16
16
  "packages": [
17
17
  {
18
18
  "name": "@robono/server",
19
- "SPDXID": "SPDXRef-Package-robono.server-0.9.1",
20
- "versionInfo": "0.9.1",
19
+ "SPDXID": "SPDXRef-Package-robono.server-0.13.0",
20
+ "versionInfo": "0.13.0",
21
21
  "packageFileName": "",
22
22
  "description": "Provider-neutral server SDK for the Robono Bridge API.",
23
23
  "primaryPackagePurpose": "LIBRARY",
@@ -29,7 +29,7 @@
29
29
  {
30
30
  "referenceCategory": "PACKAGE-MANAGER",
31
31
  "referenceType": "purl",
32
- "referenceLocator": "pkg:npm/%40robono/server@0.9.1"
32
+ "referenceLocator": "pkg:npm/%40robono/server@0.13.0"
33
33
  }
34
34
  ]
35
35
  }
@@ -37,7 +37,7 @@
37
37
  "relationships": [
38
38
  {
39
39
  "spdxElementId": "SPDXRef-DOCUMENT",
40
- "relatedSpdxElement": "SPDXRef-Package-robono.server-0.9.1",
40
+ "relatedSpdxElement": "SPDXRef-Package-robono.server-0.13.0",
41
41
  "relationshipType": "DESCRIBES"
42
42
  }
43
43
  ]
File without changes
package/dist/adapter.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { RobonoServer } from "./client.js";
2
2
  import type { JsonObject } from "./types.js";
3
- export type RobonoAuthorizationAction = "networks.list" | "languages.list" | "participant_preferences.update" | "user_messages.localize" | "network_connections.request" | "network_connections.respond" | "network_connections.list" | "network_connections.disconnect" | "network_connections.update" | "robono_connections.create" | "robono_connections.list" | "robono_connections.update_profile" | "robono_connections.disconnect" | "network_messages.send" | "network_messages.list" | "network_messages.mark" | "robono_messages.send" | "robono_messages.list" | "robono_messages.mark" | "guardian_messages.send" | "guardian_messages.list" | "guardian_messages.mark" | "message_transforms.create" | "speech_transforms.create" | "push_diagnostics.report";
3
+ export type RobonoAuthorizationAction = "networks.list" | "languages.list" | "pricing.read" | "participant_preferences.update" | "user_messages.localize" | "network_connections.request" | "network_connections.respond" | "network_connections.list" | "network_connections.disconnect" | "network_connections.update" | "robono_connections.create" | "robono_connections.list" | "robono_connections.update_profile" | "robono_connections.disconnect" | "network_messages.send" | "network_messages.list" | "network_messages.mark" | "robono_messages.send" | "robono_messages.list" | "robono_messages.mark" | "guardian_messages.send" | "guardian_messages.list" | "guardian_messages.mark" | "message_transforms.create" | "speech_transforms.create" | "push_diagnostics.report";
4
4
  export interface RobonoAuthorizationContext {
5
5
  action: RobonoAuthorizationAction;
6
6
  userId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,gBAAgB,GAChB,gCAAgC,GAChC,wBAAwB,GACxB,6BAA6B,GAC7B,6BAA6B,GAC7B,0BAA0B,GAC1B,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,yBAAyB,GACzB,mCAAmC,GACnC,+BAA+B,GAC/B,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,2BAA2B,GAC3B,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,CACZ,OAAO,EAAE,OAAO,KACb,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACpE,SAAS,EAAE,CACT,OAAO,EAAE,0BAA0B,KAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8BD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,IAIP,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA0dlE"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,gCAAgC,GAChC,wBAAwB,GACxB,6BAA6B,GAC7B,6BAA6B,GAC7B,0BAA0B,GAC1B,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,yBAAyB,GACzB,mCAAmC,GACnC,+BAA+B,GAC/B,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,2BAA2B,GAC3B,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,CACZ,OAAO,EAAE,OAAO,KACb,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACpE,SAAS,EAAE,CACT,OAAO,EAAE,0BAA0B,KAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA+BD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,IAIP,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAmelE"}
package/dist/adapter.js CHANGED
@@ -2,6 +2,7 @@ import { RobonoAuthenticationError, RobonoError } from "./errors.js";
2
2
  const authorizationActions = {
3
3
  "/networks": "networks.list",
4
4
  "/languages": "languages.list",
5
+ "/pricing": "pricing.read",
5
6
  "/participants/language": "participant_preferences.update",
6
7
  "/user-messages/localize": "user_messages.localize",
7
8
  "/network-connections": "network_connections.request",
@@ -69,6 +70,10 @@ export function createRobonoBackendAdapter(options) {
69
70
  if (path === "/languages") {
70
71
  return responseJson(await options.robono.languages(requestOptions));
71
72
  }
73
+ if (path === "/pricing") {
74
+ const version = optionalString(body.version);
75
+ return responseJson(await options.robono.pricing(version ? { version } : {}, requestOptions));
76
+ }
72
77
  if (path === "/participants/language") {
73
78
  return responseJson(await options.robono.participants.updateLanguage({
74
79
  external_user_id: externalUserId,
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ export interface RobonoCallingBackendOptions {
2
+ /** Copy these addresses from Calling in your Robono workspace. */
3
+ admissionUrl: string;
4
+ serviceUrl: string;
5
+ apiKey: string;
6
+ fetch?: typeof globalThis.fetch;
7
+ timeoutMs?: number;
8
+ }
9
+ export interface CallingRelationshipInput {
10
+ externalUserIds: [string, string];
11
+ allowed: boolean;
12
+ /** Both users must permit video. Omitted values preserve the saved choice. */
13
+ videoAllowed?: boolean;
14
+ screenSharingAllowed?: boolean;
15
+ /** Monotonically increasing revision from your persisted friendship record. */
16
+ revision: number;
17
+ }
18
+ export interface CallingRelationshipResult {
19
+ connectionId: string;
20
+ allowed: boolean;
21
+ videoAllowed?: boolean;
22
+ screenSharingAllowed?: boolean;
23
+ revision: number;
24
+ }
25
+ export interface CallingSession {
26
+ serviceUrl: string;
27
+ token: string;
28
+ expiresAt: number;
29
+ }
30
+ /** Backend-only admission and permission management. No screens or native dependencies. */
31
+ export declare class RobonoCallingBackend {
32
+ private readonly admissionUrl;
33
+ private readonly serviceUrl;
34
+ private readonly apiKey;
35
+ private readonly fetcher;
36
+ private readonly timeoutMs;
37
+ constructor(options: RobonoCallingBackendOptions);
38
+ private post;
39
+ /** Call only after authenticating the user on your own backend. Never trust a client-supplied user ID. */
40
+ createSession(externalUserId: string, connectionId?: string): Promise<CallingSession>;
41
+ /** Attest to an existing same-network friendship; synchronize blocks and permission changes here. */
42
+ setRelationship(input: CallingRelationshipInput): Promise<CallingRelationshipResult>;
43
+ /** Synchronize an app-owned group. Other apps' users require current accepted pair connections. */
44
+ setGroup(input: {
45
+ externalGroupId: string;
46
+ members: Array<{
47
+ appId?: string;
48
+ userId: string;
49
+ voice: boolean;
50
+ video: boolean;
51
+ screenSharing?: boolean;
52
+ }>;
53
+ connectionIds?: string[];
54
+ allowed: boolean;
55
+ revision: number;
56
+ }): Promise<{
57
+ connectionId: string;
58
+ revision: number;
59
+ allowed: boolean;
60
+ }>;
61
+ /** Presentation data only. Deliver this alongside the short-lived session to your app. */
62
+ appearance(): Promise<{
63
+ appearance: Record<string, unknown>;
64
+ revision: number;
65
+ features?: {
66
+ screenSharing?: boolean;
67
+ groups?: boolean;
68
+ voice: boolean;
69
+ video: boolean;
70
+ ownNetwork: boolean;
71
+ crossNetwork: boolean;
72
+ };
73
+ }>;
74
+ /** Current technical limits, call usage, alerts and organization spending. Backend only. */
75
+ monitoring(): Promise<Record<string, unknown>>;
76
+ /** Apply current user permissions to all own-network and Bridge calls. Persist a strictly increasing revision. */
77
+ setUserPermissions(input: {
78
+ externalUserId: string;
79
+ enabled: boolean;
80
+ voice: boolean;
81
+ video: boolean;
82
+ revision: number;
83
+ }): Promise<{
84
+ revision: number;
85
+ enabled: boolean;
86
+ voice: boolean;
87
+ video: boolean;
88
+ }>;
89
+ notifications(enabled?: boolean): Promise<{
90
+ enabled: boolean;
91
+ events: string[];
92
+ }>;
93
+ /** Verify a caller's finalized call and current calling access. Never trusts a phone's call outcome. */
94
+ unansweredCall(externalUserId: string, callId: string): Promise<{
95
+ callId: string;
96
+ connectionId: string;
97
+ kind: 'voice' | 'video';
98
+ state: 'ended';
99
+ reason: string;
100
+ answeredAt: number | null;
101
+ connectedAt: number | null;
102
+ voiceCalling: boolean;
103
+ videoCalling: boolean;
104
+ }>;
105
+ }
106
+ //# sourceMappingURL=calling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calling.d.ts","sourceRoot":"","sources":["../src/calling.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import { RobonoError } from './errors.js';
2
+ function httpsAddress(value) {
3
+ const url = new URL(value);
4
+ if (url.protocol !== 'https:' || url.username || url.password || url.search || url.hash)
5
+ throw new Error('Configure a plain HTTPS calling address.');
6
+ return url.href.replace(/\/$/, '');
7
+ }
8
+ /** Backend-only admission and permission management. No screens or native dependencies. */
9
+ export class RobonoCallingBackend {
10
+ admissionUrl;
11
+ serviceUrl;
12
+ apiKey;
13
+ fetcher;
14
+ timeoutMs;
15
+ constructor(options) {
16
+ this.admissionUrl = httpsAddress(options.admissionUrl);
17
+ this.serviceUrl = httpsAddress(options.serviceUrl);
18
+ if (!options.apiKey?.trim())
19
+ throw new Error('A server-side network API key is required.');
20
+ this.apiKey = options.apiKey;
21
+ this.fetcher = options.fetch ?? globalThis.fetch;
22
+ this.timeoutMs = options.timeoutMs ?? 15000;
23
+ if (!Number.isFinite(this.timeoutMs) || this.timeoutMs <= 0)
24
+ throw new Error('Invalid calling timeout.');
25
+ }
26
+ async post(url, body, authenticated = true) {
27
+ const response = await this.fetcher(url, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(this.timeoutMs),
28
+ headers: { 'content-type': 'application/json', ...(authenticated ? { authorization: `Bearer ${this.apiKey}` } : {}) }, body: JSON.stringify(body) });
29
+ let data;
30
+ try {
31
+ data = await response.json();
32
+ }
33
+ catch {
34
+ data = null;
35
+ }
36
+ if (!response.ok) {
37
+ const retry = response.headers.get('retry-after');
38
+ const wait = retry == null ? NaN : /^\d+(?:\.\d+)?$/.test(retry) ? Number(retry) * 1000 : Date.parse(retry) - Date.now();
39
+ throw new RobonoError('The calling request failed.', { status: response.status,
40
+ code: typeof data?.error === 'string' ? data.error : 'calling_request_failed',
41
+ retryable: response.status === 429 || response.status >= 500, ...(Number.isFinite(wait) ? { retryAfterMs: Math.max(0, wait) } : {}),
42
+ details: data?.revision === undefined ? undefined : { revision: data.revision } });
43
+ }
44
+ if (!data || typeof data !== 'object')
45
+ throw new RobonoError('Invalid calling response.', { code: 'invalid_calling_response' });
46
+ return data;
47
+ }
48
+ /** Call only after authenticating the user on your own backend. Never trust a client-supplied user ID. */
49
+ async createSession(externalUserId, connectionId) {
50
+ if (!externalUserId || externalUserId.length > 200 || externalUserId.trim() !== externalUserId)
51
+ throw new Error('Invalid external user ID.');
52
+ if (connectionId !== undefined && !/^(app|bridge|network|group):[0-9a-f-]{36}$/i.test(connectionId))
53
+ throw new Error('Invalid calling connection ID.');
54
+ const grant = await this.post(this.admissionUrl, { operation: 'admit', kind: 'network', protocolVersion: 1, externalUserId });
55
+ if (grant.serviceUrl !== this.serviceUrl || typeof grant.ticket !== 'string' || !grant.ticket)
56
+ throw new RobonoError('Unexpected calling admission response.', { code: 'invalid_calling_response' });
57
+ const session = await this.post(this.serviceUrl + '/sessions', { ticket: grant.ticket, ...(connectionId ? { connectionId } : {}) }, false);
58
+ if (typeof session.token !== 'string' || !session.token || !Number.isFinite(session.expiresAt) || session.expiresAt <= Date.now())
59
+ throw new RobonoError('Invalid calling session.', { code: 'invalid_calling_response' });
60
+ return { serviceUrl: this.serviceUrl, token: session.token, expiresAt: session.expiresAt };
61
+ }
62
+ /** Attest to an existing same-network friendship; synchronize blocks and permission changes here. */
63
+ setRelationship(input) {
64
+ if (!Array.isArray(input.externalUserIds) || input.externalUserIds.length !== 2 ||
65
+ !input.externalUserIds.every(id => typeof id === 'string' && id.length > 0 && id.length <= 200 && id.trim() === id && !/[\u0000-\u001f\u007f]/.test(id)) ||
66
+ input.screenSharingAllowed !== undefined && typeof input.screenSharingAllowed !== 'boolean' || input.videoAllowed !== undefined && typeof input.videoAllowed !== 'boolean' || input.externalUserIds[0] === input.externalUserIds[1] || typeof input.allowed !== 'boolean' || !Number.isSafeInteger(input.revision) || input.revision < 1)
67
+ throw new Error('Invalid calling relationship.');
68
+ return this.post(this.admissionUrl, { ...input, operation: 'relationship' });
69
+ }
70
+ /** Synchronize an app-owned group. Other apps' users require current accepted pair connections. */
71
+ setGroup(input) {
72
+ if (!input.externalGroupId || input.externalGroupId.length > 200 || !Array.isArray(input.members) || input.members.length < 2 || input.members.length > 8 || typeof input.allowed !== 'boolean' || !Number.isSafeInteger(input.revision) || input.revision < 1)
73
+ throw Error('Invalid calling group.');
74
+ if (!input.members.every(m => typeof m.userId === 'string' && m.userId.length > 0 && m.userId.length <= 200 && typeof m.voice === 'boolean' && typeof m.video === 'boolean' && (m.screenSharing === undefined || typeof m.screenSharing === 'boolean')))
75
+ throw Error('Invalid group member.');
76
+ return this.post(this.admissionUrl, { ...input, operation: 'group' });
77
+ }
78
+ /** Presentation data only. Deliver this alongside the short-lived session to your app. */
79
+ appearance() {
80
+ return this.post(this.admissionUrl, { operation: 'appearance' });
81
+ }
82
+ /** Current technical limits, call usage, alerts and organization spending. Backend only. */
83
+ monitoring() { return this.post(this.admissionUrl, { operation: 'monitoring' }); }
84
+ /** Apply current user permissions to all own-network and Bridge calls. Persist a strictly increasing revision. */
85
+ setUserPermissions(input) {
86
+ if (!input.externalUserId?.trim() || input.externalUserId.length > 200 || !['enabled', 'voice', 'video'].every(k => typeof input[k] === 'boolean') || !Number.isSafeInteger(input.revision) || input.revision < 1)
87
+ throw Error('Invalid calling permissions.');
88
+ return this.post(this.admissionUrl, { ...input, operation: 'user-permissions' });
89
+ }
90
+ notifications(enabled) {
91
+ return this.post(this.admissionUrl, { operation: 'notifications', ...(enabled === undefined ? {} : { enabled }) });
92
+ }
93
+ /** Verify a caller's finalized call and current calling access. Never trusts a phone's call outcome. */
94
+ async unansweredCall(externalUserId, callId) {
95
+ if (!/^[0-9a-f-]{36}$/i.test(callId))
96
+ throw Error('Invalid call ID.');
97
+ const session = await this.createSession(externalUserId);
98
+ const call = async (path, body) => {
99
+ const response = await this.fetcher(this.serviceUrl + path, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(this.timeoutMs), headers: { 'content-type': 'application/json', authorization: `Bearer ${session.token}` }, body: JSON.stringify(body) });
100
+ if (!response.ok)
101
+ throw new RobonoError('The call is unavailable.', { code: 'call_unavailable', status: response.status });
102
+ return response.json();
103
+ };
104
+ try {
105
+ return await call('/unanswered', { callId });
106
+ }
107
+ finally {
108
+ await call('/close', {}).catch(() => { });
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=calling.js.map