@robono/server 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +48 -3
- package/dist/adapter.d.ts +8 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +52 -5
- package/dist/adapter.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/sandbox-test.d.ts +3 -0
- package/dist/sandbox-test.d.ts.map +1 -0
- package/dist/sandbox-test.js +96 -0
- package/dist/sandbox-test.js.map +1 -0
- package/package.json +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
- Added required per-operation authorization to the safe backend adapter.
|
|
6
|
+
- Sensitive adapter operations now deny access unless the child app explicitly authorizes them.
|
|
7
|
+
- Added the consumer-runnable `robono-sandbox-test` command to the published package.
|
|
8
|
+
|
|
3
9
|
## 0.2.0
|
|
4
10
|
|
|
5
11
|
- Added authenticated end-to-end push diagnostic reporting.
|
package/README.md
CHANGED
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Provider-neutral Node/TypeScript SDK for connecting an existing private network to Robono. It has no user interface and does not depend on Loop, Sendbird, or another messaging provider.
|
|
4
4
|
|
|
5
|
-
The package handles authenticated API calls, typed inputs and responses, understandable errors, timeouts, limited retries, idempotency, negotiated restrictions, speech transforms, and signed webhook verification. It is ESM-only and
|
|
5
|
+
The package handles authenticated API calls, typed inputs and responses, understandable errors, timeouts, limited retries, idempotency, negotiated restrictions, speech transforms, and signed webhook verification. It is ESM-only and is officially tested on Node.js 18 or newer and Deno 2.x through Deno's npm compatibility, including Supabase Edge Functions.
|
|
6
|
+
|
|
7
|
+
In Deno or a Supabase Edge Function, import the published package with:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import {
|
|
11
|
+
createRobonoBackendAdapter,
|
|
12
|
+
RobonoServer,
|
|
13
|
+
} from "npm:@robono/server@0.3.0";
|
|
14
|
+
```
|
|
6
15
|
|
|
7
16
|
## Install
|
|
8
17
|
|
|
@@ -114,24 +123,60 @@ Keep the Robono key on your server. The included adapter authenticates your own
|
|
|
114
123
|
const handleRobono = createRobonoBackendAdapter({
|
|
115
124
|
robono,
|
|
116
125
|
authenticate: request => yourAuth.requireUser(request).id,
|
|
126
|
+
authorize: async ({ action, userId, input }) => {
|
|
127
|
+
return yourPolicy.canPerform({ action, userId, input });
|
|
128
|
+
},
|
|
117
129
|
});
|
|
118
130
|
```
|
|
119
131
|
|
|
120
132
|
Mount `handleRobono` at `/robono/*`. The adapter replaces any user id supplied by the browser or phone with the identity returned by your authentication code.
|
|
121
133
|
|
|
134
|
+
`authenticate` proves who the user is. The required `authorize` callback decides
|
|
135
|
+
whether that user may perform the exact operation. Check the child app's own
|
|
136
|
+
guardian approval, relationship status, messaging restrictions, and available
|
|
137
|
+
translation or AI credits. The adapter denies the request when authorization is
|
|
138
|
+
missing or returns false.
|
|
139
|
+
|
|
140
|
+
For a child account, deny `network_connections.respond` through the client
|
|
141
|
+
adapter. After the guardian approves in the child app's own protected backend,
|
|
142
|
+
call `robono.networkConnections.respond()` from that backend with the approved
|
|
143
|
+
child's stable ID. Hiding an approval button from the child is not an
|
|
144
|
+
authorization control.
|
|
145
|
+
|
|
122
146
|
The adapter is based on standard Web `Request` and `Response` objects, so it can be mounted in Express, Fastify, Next.js, serverless functions, or another Node-compatible framework with a small framework wrapper.
|
|
123
147
|
|
|
124
148
|
The child SDK uses separate `networkConnections` / `networkMessages` methods for network-to-network communication and `robonoConnections` / `robonoMessages` methods for Phone / Robono. This keeps the two workflows explicit while allowing the child app to present them in one friend picker.
|
|
125
149
|
|
|
150
|
+
## Identifiers and mixed API/SDK use
|
|
151
|
+
|
|
152
|
+
The SDK calls the same public API and records as direct REST requests. Existing
|
|
153
|
+
`connection_id` and `robono_message_id` values remain valid when the same
|
|
154
|
+
integration and stable external user IDs are used.
|
|
155
|
+
|
|
156
|
+
Phone / Robono records use `connection_id` and `robono_message_id`. App-to-app
|
|
157
|
+
network records use `bridge_connection_id` and `bridge_message_id`. These are
|
|
158
|
+
different relationship types; there is no conversion or mapping between them.
|
|
159
|
+
|
|
160
|
+
Direct REST and SDK calls may coexist. Use the same stable
|
|
161
|
+
`external_message_id` for the same logical message so Robono returns the
|
|
162
|
+
existing record. The SDK also supplies an idempotency key for writes. Process
|
|
163
|
+
incoming webhooks through one ingress and atomically deduplicate by `event_id`;
|
|
164
|
+
automated retries preserve that event ID.
|
|
165
|
+
|
|
166
|
+
The server SDK covers both Phone / Robono and app-to-app operations. The React
|
|
167
|
+
Native and Web SDKs are optional headless clients. Their automatic state
|
|
168
|
+
synchronization, push handling, and polling recovery are primarily for
|
|
169
|
+
app-to-app bridge state.
|
|
170
|
+
|
|
126
171
|
## Stateful sandbox test
|
|
127
172
|
|
|
128
|
-
Create isolated Network A and Network B credentials in the Robono developer portal, then run:
|
|
173
|
+
Create isolated Network A and Network B credentials in the Robono developer portal, then run this command from any project:
|
|
129
174
|
|
|
130
175
|
```bash
|
|
131
176
|
ROBONO_SANDBOX_KEY_A=rbn_test_... \
|
|
132
177
|
ROBONO_SANDBOX_KEY_B=rbn_test_... \
|
|
133
178
|
ROBONO_SANDBOX_NETWORK_B_ID=... \
|
|
134
|
-
|
|
179
|
+
npx --package @robono/server robono-sandbox-test
|
|
135
180
|
```
|
|
136
181
|
|
|
137
182
|
The test creates and accepts a connection, sends and retrieves a message, records a read receipt, synchronizes state, and disconnects. Set Network B to “Push fails” in the portal to prove polling recovery; the final output then reports `accepted_via: "polling"`.
|
package/dist/adapter.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import type { RobonoServer } from "./client.js";
|
|
2
2
|
import type { JsonObject } from "./types.js";
|
|
3
|
+
export type RobonoAuthorizationAction = "networks.list" | "network_connections.request" | "network_connections.respond" | "network_connections.list" | "network_connections.disconnect" | "network_connections.update" | "robono_connections.create" | "robono_connections.update_profile" | "robono_connections.disconnect" | "network_messages.send" | "network_messages.list" | "network_messages.mark" | "robono_messages.send" | "speech_transforms.create";
|
|
4
|
+
export interface RobonoAuthorizationContext {
|
|
5
|
+
action: RobonoAuthorizationAction;
|
|
6
|
+
userId: string;
|
|
7
|
+
input: JsonObject;
|
|
8
|
+
request: Request;
|
|
9
|
+
}
|
|
3
10
|
export interface RobonoBackendAdapterOptions {
|
|
4
11
|
robono: RobonoServer;
|
|
5
12
|
authenticate: (request: Request) => string | Promise<string>;
|
|
6
|
-
|
|
13
|
+
authorize: (context: RobonoAuthorizationContext) => boolean | Promise<boolean>;
|
|
7
14
|
maxRequestBytes?: number;
|
|
8
15
|
}
|
|
9
16
|
export declare function createRobonoBackendAdapter(options: RobonoBackendAdapterOptions): (request: Request) => Promise<Response>;
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -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,WAAW,2BAA2B;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,
|
|
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,6BAA6B,GAC7B,6BAA6B,GAC7B,0BAA0B,GAC1B,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,mCAAmC,GACnC,+BAA+B,GAC/B,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,0BAA0B,CAAC;AAE/B,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,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,SAAS,EAAE,CACT,OAAO,EAAE,0BAA0B,KAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAmBD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,IAIP,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAgQlE"}
|
package/dist/adapter.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import { RobonoError } from "./errors.js";
|
|
2
|
+
const authorizationActions = {
|
|
3
|
+
"/networks": "networks.list",
|
|
4
|
+
"/network-connections": "network_connections.request",
|
|
5
|
+
"/network-connections/respond": "network_connections.respond",
|
|
6
|
+
"/network-connections/list": "network_connections.list",
|
|
7
|
+
"/network-connections/disconnect": "network_connections.disconnect",
|
|
8
|
+
"/network-connections/update": "network_connections.update",
|
|
9
|
+
"/connections": "robono_connections.create",
|
|
10
|
+
"/connections/profile": "robono_connections.update_profile",
|
|
11
|
+
"/connections/disconnect": "robono_connections.disconnect",
|
|
12
|
+
"/network-messages": "network_messages.send",
|
|
13
|
+
"/network-messages/list": "network_messages.list",
|
|
14
|
+
"/network-messages/events": "network_messages.mark",
|
|
15
|
+
"/messages": "robono_messages.send",
|
|
16
|
+
"/transforms/speech": "speech_transforms.create",
|
|
17
|
+
};
|
|
2
18
|
export function createRobonoBackendAdapter(options) {
|
|
3
19
|
const maxRequestBytes = positiveInteger(options.maxRequestBytes, 1_000_000);
|
|
4
20
|
return async function handle(request) {
|
|
@@ -14,6 +30,20 @@ export function createRobonoBackendAdapter(options) {
|
|
|
14
30
|
}
|
|
15
31
|
const body = await readBody(request, maxRequestBytes);
|
|
16
32
|
const path = normalizedAdapterPath(new URL(request.url).pathname);
|
|
33
|
+
const action = authorizationActions[path];
|
|
34
|
+
if (!action) {
|
|
35
|
+
return responseError(404, "adapter_route_not_found", "Robono adapter route was not found.", requestId);
|
|
36
|
+
}
|
|
37
|
+
const authorizationInput = inputWithAuthenticatedUser(action, body, externalUserId);
|
|
38
|
+
const authorized = await options.authorize?.({
|
|
39
|
+
action,
|
|
40
|
+
userId: externalUserId,
|
|
41
|
+
input: authorizationInput,
|
|
42
|
+
request,
|
|
43
|
+
}) ?? false;
|
|
44
|
+
if (!authorized) {
|
|
45
|
+
return responseError(403, "operation_not_authorized", "The child app did not authorize this operation for the signed-in user.", requestId);
|
|
46
|
+
}
|
|
17
47
|
const requestOptions = { requestId };
|
|
18
48
|
if (path === "/networks") {
|
|
19
49
|
return responseJson(await options.robono.directory.list({}, requestOptions));
|
|
@@ -121,13 +151,9 @@ export function createRobonoBackendAdapter(options) {
|
|
|
121
151
|
}, requestOptions));
|
|
122
152
|
}
|
|
123
153
|
if (path === "/transforms/speech") {
|
|
124
|
-
const allowed = await options.authorizeSpeechTransform?.(request, externalUserId, body) ?? true;
|
|
125
|
-
if (!allowed) {
|
|
126
|
-
return responseError(403, "speech_transform_not_allowed", "Speech transforms are not allowed for this child app user.", requestId);
|
|
127
|
-
}
|
|
128
154
|
return responseJson(await options.robono.transforms.speech(body, requestOptions));
|
|
129
155
|
}
|
|
130
|
-
|
|
156
|
+
throw new Error("Authorized adapter route has no handler.");
|
|
131
157
|
}
|
|
132
158
|
catch (error) {
|
|
133
159
|
if (error instanceof RobonoError) {
|
|
@@ -143,6 +169,27 @@ export function createRobonoBackendAdapter(options) {
|
|
|
143
169
|
}
|
|
144
170
|
};
|
|
145
171
|
}
|
|
172
|
+
function inputWithAuthenticatedUser(action, input, userId) {
|
|
173
|
+
if (action === "network_connections.request") {
|
|
174
|
+
return { ...input, source_external_user_id: userId };
|
|
175
|
+
}
|
|
176
|
+
if (action === "network_connections.respond") {
|
|
177
|
+
return { ...input, target_external_user_id: userId };
|
|
178
|
+
}
|
|
179
|
+
if (action === "network_connections.list" ||
|
|
180
|
+
action === "network_connections.disconnect" ||
|
|
181
|
+
action === "network_connections.update" ||
|
|
182
|
+
action === "robono_connections.create" ||
|
|
183
|
+
action === "robono_connections.update_profile" ||
|
|
184
|
+
action === "robono_connections.disconnect" ||
|
|
185
|
+
action === "network_messages.send" ||
|
|
186
|
+
action === "network_messages.list" ||
|
|
187
|
+
action === "network_messages.mark" ||
|
|
188
|
+
action === "robono_messages.send") {
|
|
189
|
+
return { ...input, external_user_id: userId };
|
|
190
|
+
}
|
|
191
|
+
return { ...input };
|
|
192
|
+
}
|
|
146
193
|
async function assertConnectionBelongsToUser(robono, connectionId, externalUserId, requestId) {
|
|
147
194
|
const result = await robono.networkConnections.list({
|
|
148
195
|
external_user_id: externalUserId,
|
package/dist/adapter.js.map
CHANGED
|
@@ -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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { RobonoServer } from "./client.js";
|
|
2
2
|
export { createRobonoBackendAdapter } from "./adapter.js";
|
|
3
|
-
export type { RobonoBackendAdapterOptions } from "./adapter.js";
|
|
3
|
+
export type { RobonoAuthorizationAction, RobonoAuthorizationContext, RobonoBackendAdapterOptions, } from "./adapter.js";
|
|
4
4
|
export { RobonoError, RobonoWebhookError } from "./errors.js";
|
|
5
5
|
export { assertMessageAllowed, isMessageAllowed, restrictionsFor, } from "./restrictions.js";
|
|
6
6
|
export { verifyRobonoWebhook } from "./webhooks.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,mBAAmB,YAAY,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAM1D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-test.d.ts","sourceRoot":"","sources":["../src/sandbox-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { RobonoServer } from "./client.js";
|
|
3
|
+
const keyA = requiredEnvironmentVariable("ROBONO_SANDBOX_KEY_A");
|
|
4
|
+
const keyB = requiredEnvironmentVariable("ROBONO_SANDBOX_KEY_B");
|
|
5
|
+
const networkBId = requiredEnvironmentVariable("ROBONO_SANDBOX_NETWORK_B_ID");
|
|
6
|
+
const baseUrl = process.env.ROBONO_SANDBOX_BASE_URL?.trim() ||
|
|
7
|
+
"https://api.robono.com/v1";
|
|
8
|
+
const networkA = new RobonoServer({ apiKey: keyA, baseUrl });
|
|
9
|
+
const networkB = new RobonoServer({ apiKey: keyB, baseUrl });
|
|
10
|
+
const runId = Date.now().toString(36);
|
|
11
|
+
const userA = `sandbox-a-${runId}`;
|
|
12
|
+
const userB = `sandbox-b-${runId}`;
|
|
13
|
+
let bridgeConnectionId = null;
|
|
14
|
+
try {
|
|
15
|
+
const directory = await networkA.directory.list();
|
|
16
|
+
const target = directory.directory.find((item) => item.id === networkBId);
|
|
17
|
+
assert(target, "Network B is not visible to Network A.");
|
|
18
|
+
assert(!directory.directory.some((item) => item.type === "robono_phone"), "The isolated sandbox unexpectedly exposed Phone / Robono.");
|
|
19
|
+
const requested = await networkA.networkConnections.request({
|
|
20
|
+
target_app_id: target.id,
|
|
21
|
+
source_external_user_id: userA,
|
|
22
|
+
source_display_name: "Alex",
|
|
23
|
+
target_identifier: `B-FRIEND-${runId}`,
|
|
24
|
+
});
|
|
25
|
+
bridgeConnectionId = requested.bridge_connection_id;
|
|
26
|
+
assert(requested.status === "pending_target_approval", `Expected a pending request; received ${requested.status}.`);
|
|
27
|
+
const pending = await networkB.networkConnections.list({
|
|
28
|
+
status: "pending",
|
|
29
|
+
});
|
|
30
|
+
assert(pending.connections.some((item) => item.bridge_connection_id === bridgeConnectionId), "Network B did not receive the pending connection.");
|
|
31
|
+
const accepted = await networkB.networkConnections.respond({
|
|
32
|
+
bridge_connection_id: bridgeConnectionId,
|
|
33
|
+
status: "accepted",
|
|
34
|
+
target_external_user_id: userB,
|
|
35
|
+
target_display_name: "Bailey",
|
|
36
|
+
});
|
|
37
|
+
assert(accepted.status === "accepted", `Network B did not accept the connection; received ${accepted.status}.`);
|
|
38
|
+
const sent = await networkA.messages.send({
|
|
39
|
+
bridge_connection_id: bridgeConnectionId,
|
|
40
|
+
external_user_id: userA,
|
|
41
|
+
external_message_id: `message-${runId}`,
|
|
42
|
+
message_kind: "text",
|
|
43
|
+
text_body: "Hello from the Robono stateful sandbox.",
|
|
44
|
+
});
|
|
45
|
+
assert(sent.bridge_message_id, "Robono did not return a bridge message ID.");
|
|
46
|
+
const received = await networkB.messages.list({
|
|
47
|
+
bridge_connection_id: bridgeConnectionId,
|
|
48
|
+
external_user_id: userB,
|
|
49
|
+
});
|
|
50
|
+
const inbound = received.messages.find((item) => item.bridge_message_id === sent.bridge_message_id);
|
|
51
|
+
assert(inbound, "Network B could not retrieve the sent message.");
|
|
52
|
+
assert(inbound.direction === "inbound", "The retrieved message is not inbound.");
|
|
53
|
+
assert(inbound.accepted_via === "push" || inbound.accepted_via === "polling", "The message does not show whether push or polling accepted it.");
|
|
54
|
+
await networkB.messages.mark({
|
|
55
|
+
bridge_connection_id: bridgeConnectionId,
|
|
56
|
+
bridge_message_id: sent.bridge_message_id,
|
|
57
|
+
event: "read",
|
|
58
|
+
});
|
|
59
|
+
const synchronized = await networkA.messages.list({
|
|
60
|
+
bridge_connection_id: bridgeConnectionId,
|
|
61
|
+
external_user_id: userA,
|
|
62
|
+
});
|
|
63
|
+
assert(synchronized.messages.find((item) => item.bridge_message_id === sent.bridge_message_id)?.status === "read", "The read event did not synchronize to Network A.");
|
|
64
|
+
console.log(JSON.stringify({
|
|
65
|
+
ok: true,
|
|
66
|
+
bridge_connection_id: bridgeConnectionId,
|
|
67
|
+
bridge_message_id: sent.bridge_message_id,
|
|
68
|
+
accepted_via: inbound.accepted_via,
|
|
69
|
+
}, null, 2));
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error(error instanceof Error ? error.message : "The sandbox test failed.");
|
|
73
|
+
process.exitCode = 1;
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
if (bridgeConnectionId) {
|
|
77
|
+
await networkA.networkConnections.disconnect({
|
|
78
|
+
bridge_connection_id: bridgeConnectionId,
|
|
79
|
+
external_user_id: userA,
|
|
80
|
+
reason: "sandbox_test_complete",
|
|
81
|
+
}).catch(() => undefined);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function requiredEnvironmentVariable(name) {
|
|
85
|
+
const value = process.env[name]?.trim();
|
|
86
|
+
if (!value) {
|
|
87
|
+
console.error(`Set ${name}. Create Network A and Network B test credentials in the Robono Sandbox first.`);
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
function assert(value, message) {
|
|
93
|
+
if (!value)
|
|
94
|
+
throw new Error(message);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=sandbox-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-test.js","sourceRoot":"","sources":["../src/sandbox-test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robono/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Provider-neutral server SDK for the Robono Bridge API.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"robono",
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
"import": "./dist/index.js"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
|
+
"bin": {
|
|
27
|
+
"robono-sandbox-test": "dist/sandbox-test.js"
|
|
28
|
+
},
|
|
26
29
|
"files": [
|
|
27
30
|
"dist",
|
|
28
31
|
"README.md",
|
|
@@ -33,7 +36,8 @@
|
|
|
33
36
|
"build": "tsc -p tsconfig.json",
|
|
34
37
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
35
38
|
"test": "npm run build && node --test test/*.test.mjs",
|
|
36
|
-
"test:
|
|
39
|
+
"test:deno": "npm run build && deno test test/deno_compat_test.ts",
|
|
40
|
+
"test:sandbox": "npm run build && node dist/sandbox-test.js",
|
|
37
41
|
"prepublishOnly": "npm test"
|
|
38
42
|
},
|
|
39
43
|
"engines": {
|