@robono/server 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +51 -3
- package/dist/adapter-smoke-test.d.ts +3 -0
- package/dist/adapter-smoke-test.d.ts.map +1 -0
- package/dist/adapter-smoke-test.js +78 -0
- package/dist/adapter-smoke-test.js.map +1 -0
- package/dist/adapter.d.ts +1 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +107 -25
- package/dist/adapter.js.map +1 -1
- package/dist/client.d.ts +34 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +274 -10
- package/dist/client.js.map +1 -1
- package/dist/types.d.ts +88 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +11 -3
- package/dist/webhooks.js.map +1 -1
- package/package.json +3 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
- Fixed `health()` to use the production `GET /health` contract.
|
|
6
|
+
- Added normalized connection peers and complete endpoint-neutral connection and message namespaces.
|
|
7
|
+
- Added app-to-app profile propagation, delta message cursors, push diagnostics through the adapter, and an adapter smoke-test command.
|
|
8
|
+
- Added atomic webhook event claims, stronger webhook validation, paginated receipt authorization, and sanitized server errors.
|
|
9
|
+
- Corrected the generated OpenAPI contract and removed misleading package source links.
|
|
10
|
+
|
|
3
11
|
## 0.5.0
|
|
4
12
|
|
|
5
13
|
- Added typed message and standalone speech transform contracts, operation-level billing details, generated-media URL expiration, and typed webhook event unions.
|
package/README.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Headless Node/TypeScript SDK for connecting an existing app or closed ecosystem to Robono Bridge. It provides typed API calls, bounded retries, idempotency, restriction checks, speech tools, webhook verification, and the protected client adapter.
|
|
4
4
|
|
|
5
|
+
## License in plain English
|
|
6
|
+
|
|
7
|
+
You may use this SDK to build, test, and operate an authorized application that connects to Robono. You may not redistribute it as a standalone SDK, use it to bypass Robono, or use it to build a competing bridge service. Service access, pricing, maintenance, and support are separate. If you and Robono sign a written agreement that expressly replaces this SDK license, that agreement controls to the extent it says so. The included `LICENSE` is the complete, controlling text.
|
|
8
|
+
|
|
5
9
|
Robono's own app and third-party connected apps appear as endpoints in the same directory. Your product keeps its existing accounts, screens, storage, safety rules, and notifications.
|
|
6
10
|
|
|
7
11
|
## Install
|
|
@@ -16,7 +20,7 @@ The package is ESM-only and supports Node.js 18+ and Deno 2.x through npm compat
|
|
|
16
20
|
import {
|
|
17
21
|
createRobonoBackendAdapter,
|
|
18
22
|
RobonoServer,
|
|
19
|
-
} from "npm:@robono/server@0.
|
|
23
|
+
} from "npm:@robono/server@0.6.0";
|
|
20
24
|
```
|
|
21
25
|
|
|
22
26
|
## Discover endpoints
|
|
@@ -69,6 +73,41 @@ The normalized `connection.connection_id` is valid for SDK state and subsequent
|
|
|
69
73
|
|
|
70
74
|
The unified send validates negotiated message type, text length, media size, duration, and MIME type before making the API request. Validate capabilities before uploading media so unsupported work fails early.
|
|
71
75
|
|
|
76
|
+
New server-only integrations can use the normalized namespaces for the rest of the lifecycle without branching on endpoint type:
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
const page = await robono.endpointConnections.list({
|
|
80
|
+
external_user_id: user.id,
|
|
81
|
+
limit: 50,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const history = await robono.endpointMessages.list({
|
|
85
|
+
connection,
|
|
86
|
+
external_user_id: user.id,
|
|
87
|
+
limit: 50,
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
await robono.endpointMessages.mark({
|
|
91
|
+
connection,
|
|
92
|
+
external_user_id: user.id,
|
|
93
|
+
message_id: history.messages[0].message_id,
|
|
94
|
+
event: "read",
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
await robono.endpointConnections.update({
|
|
98
|
+
connection,
|
|
99
|
+
external_user_id: user.id,
|
|
100
|
+
external_profile: currentProfile,
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
await robono.endpointConnections.disconnect({
|
|
104
|
+
connection,
|
|
105
|
+
external_user_id: user.id,
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Use `page.next_cursor` and `history.next_before` for older pages. Use `history.sync_cursor` as the next `after` value when checking only for newer messages.
|
|
110
|
+
|
|
72
111
|
## Protect client operations
|
|
73
112
|
|
|
74
113
|
Keep the API key on your server. Mount the adapter at `/robono/*` behind your existing authentication:
|
|
@@ -124,7 +163,7 @@ const verified = await verifyRobonoWebhook(
|
|
|
124
163
|
rawBody,
|
|
125
164
|
request.headers,
|
|
126
165
|
process.env.ROBONO_WEBHOOK_SECRET!,
|
|
127
|
-
{
|
|
166
|
+
{ claimEvent: eventId => eventStore.insertIfAbsent(eventId) },
|
|
128
167
|
);
|
|
129
168
|
|
|
130
169
|
if (!verified.duplicate) {
|
|
@@ -145,7 +184,7 @@ if (!verified.duplicate) {
|
|
|
145
184
|
}
|
|
146
185
|
```
|
|
147
186
|
|
|
148
|
-
`verified.event` is a discriminated `RobonoWebhookEvent` union covering connection, message, receipt, guardian, transform, failure, and diagnostic events.
|
|
187
|
+
`verified.event` is a discriminated `RobonoWebhookEvent` union covering connection, message, receipt, guardian, transform, failure, and diagnostic events. `claimEvent` must atomically return `true` only for the first delivery so concurrent retries cannot process the same event twice.
|
|
149
188
|
|
|
150
189
|
## Run the sandbox lifecycle
|
|
151
190
|
|
|
@@ -158,4 +197,13 @@ npx --package @robono/server robono-sandbox-test
|
|
|
158
197
|
|
|
159
198
|
The test runs the stateful network-to-network lifecycle, then validates the same unified connection and send methods against the test-only Robono endpoint. The Robono endpoint check cannot reach real users, SMS, billing, or production delivery.
|
|
160
199
|
|
|
200
|
+
The lifecycle runner tests Robono's sandbox API, not your authentication, CORS, or deployed adapter. Test those separately:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
ROBONO_ADAPTER_URL=https://your-backend.example \
|
|
204
|
+
ROBONO_ADAPTER_ACCESS_TOKEN=your_test_user_token \
|
|
205
|
+
ROBONO_ADAPTER_EXPECTED_ORIGIN=https://your-app.example \
|
|
206
|
+
npx --package @robono/server robono-adapter-test
|
|
207
|
+
```
|
|
208
|
+
|
|
161
209
|
See the complete build flow, REST reference, platform support, capabilities, delivery behavior, and testing guide at [robono.com/docs](https://robono.com/docs).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-smoke-test.d.ts","sourceRoot":"","sources":["../src/adapter-smoke-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const baseUrl = requiredEnvironment("ROBONO_ADAPTER_URL").replace(/\/+$/, "");
|
|
3
|
+
const accessToken = requiredEnvironment("ROBONO_ADAPTER_ACCESS_TOKEN");
|
|
4
|
+
const expectedOrigin = process.env.ROBONO_ADAPTER_EXPECTED_ORIGIN?.trim();
|
|
5
|
+
const route = `${baseUrl}/robono/networks`;
|
|
6
|
+
await check("Unauthenticated requests are rejected", async () => {
|
|
7
|
+
const response = await request(route, {});
|
|
8
|
+
if (response.status !== 401) {
|
|
9
|
+
throw new Error(`expected HTTP 401, received ${response.status}`);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
await check("Authenticated directory request succeeds", async () => {
|
|
13
|
+
const response = await request(route, {
|
|
14
|
+
authorization: `Bearer ${accessToken}`,
|
|
15
|
+
});
|
|
16
|
+
const payload = await response.json().catch(() => ({}));
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
throw new Error(payload.error?.message ?? `received HTTP ${response.status}`);
|
|
19
|
+
}
|
|
20
|
+
if (!Array.isArray(payload.directory)) {
|
|
21
|
+
throw new Error("response does not contain a directory");
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
if (expectedOrigin) {
|
|
25
|
+
await check("Configured browser origin is allowed", async () => {
|
|
26
|
+
const response = await fetchWithTimeout(route, {
|
|
27
|
+
method: "OPTIONS",
|
|
28
|
+
headers: {
|
|
29
|
+
origin: expectedOrigin,
|
|
30
|
+
"access-control-request-method": "POST",
|
|
31
|
+
"access-control-request-headers": "authorization,content-type",
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const allowed = response.headers.get("access-control-allow-origin");
|
|
35
|
+
if (allowed !== expectedOrigin) {
|
|
36
|
+
throw new Error(`expected Access-Control-Allow-Origin ${expectedOrigin}, received ${allowed ?? "no header"}`);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
console.log("Robono adapter smoke test passed.");
|
|
41
|
+
async function request(url, headers) {
|
|
42
|
+
return fetchWithTimeout(url, {
|
|
43
|
+
method: "POST",
|
|
44
|
+
headers: { "content-type": "application/json", ...headers },
|
|
45
|
+
body: "{}",
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async function fetchWithTimeout(url, init) {
|
|
49
|
+
const controller = new AbortController();
|
|
50
|
+
const timeout = setTimeout(() => controller.abort(), 15_000);
|
|
51
|
+
try {
|
|
52
|
+
return await fetch(url, { ...init, signal: controller.signal });
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
clearTimeout(timeout);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async function check(label, operation) {
|
|
59
|
+
try {
|
|
60
|
+
await operation();
|
|
61
|
+
console.log(`PASS ${label}`);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.error(`FAIL ${label}: ${error instanceof Error ? error.message : "unknown error"}`);
|
|
65
|
+
process.exitCode = 1;
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function requiredEnvironment(name) {
|
|
70
|
+
const value = process.env[name]?.trim();
|
|
71
|
+
if (!value) {
|
|
72
|
+
console.error(`${name} is required.`);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=adapter-smoke-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-smoke-test.js","sourceRoot":"","sources":["../src/adapter-smoke-test.ts"],"names":[],"mappings":"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"}
|
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" | "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" | "message_transforms.create" | "speech_transforms.create";
|
|
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.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" | "message_transforms.create" | "speech_transforms.create" | "push_diagnostics.report";
|
|
4
4
|
export interface RobonoAuthorizationContext {
|
|
5
5
|
action: RobonoAuthorizationAction;
|
|
6
6
|
userId: string;
|
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,MAAM,yBAAyB,GACjC,eAAe,GACf,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,2BAA2B,GAC3B,0BAA0B,CAAC;
|
|
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,yBAAyB,GACzB,mCAAmC,GACnC,+BAA+B,GAC/B,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,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,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;AAwBD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,IAIP,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAsXlE"}
|
package/dist/adapter.js
CHANGED
|
@@ -18,6 +18,7 @@ const authorizationActions = {
|
|
|
18
18
|
"/message-events": "robono_messages.mark",
|
|
19
19
|
"/transforms/message": "message_transforms.create",
|
|
20
20
|
"/transforms/speech": "speech_transforms.create",
|
|
21
|
+
"/push-diagnostics/events": "push_diagnostics.report",
|
|
21
22
|
};
|
|
22
23
|
export function createRobonoBackendAdapter(options) {
|
|
23
24
|
const maxRequestBytes = positiveInteger(options.maxRequestBytes, 1_000_000);
|
|
@@ -48,7 +49,11 @@ export function createRobonoBackendAdapter(options) {
|
|
|
48
49
|
if (!authorized) {
|
|
49
50
|
return responseError(403, "operation_not_authorized", "The child app did not authorize this operation for the signed-in user.", requestId);
|
|
50
51
|
}
|
|
51
|
-
const
|
|
52
|
+
const idempotencyKey = optionalIdempotencyKey(request.headers.get("idempotency-key"));
|
|
53
|
+
const requestOptions = {
|
|
54
|
+
requestId,
|
|
55
|
+
...(idempotencyKey ? { idempotencyKey } : {}),
|
|
56
|
+
};
|
|
52
57
|
if (path === "/networks") {
|
|
53
58
|
return responseJson(await options.robono.directory.list({}, requestOptions));
|
|
54
59
|
}
|
|
@@ -72,11 +77,15 @@ export function createRobonoBackendAdapter(options) {
|
|
|
72
77
|
const status = optionalString(body.status);
|
|
73
78
|
const limit = optionalNumber(body.limit);
|
|
74
79
|
const before = optionalString(body.before);
|
|
80
|
+
const bridgeConnectionId = optionalString(body.bridge_connection_id);
|
|
75
81
|
return responseJson(await options.robono.networkConnections.list({
|
|
76
82
|
external_user_id: externalUserId,
|
|
77
83
|
...(status ? { status } : {}),
|
|
78
84
|
...(limit ? { limit } : {}),
|
|
79
85
|
...(before ? { before } : {}),
|
|
86
|
+
...(bridgeConnectionId
|
|
87
|
+
? { bridge_connection_id: bridgeConnectionId }
|
|
88
|
+
: {}),
|
|
80
89
|
}, requestOptions));
|
|
81
90
|
}
|
|
82
91
|
if (path === "/network-connections/disconnect") {
|
|
@@ -106,11 +115,13 @@ export function createRobonoBackendAdapter(options) {
|
|
|
106
115
|
const status = optionalString(body.status);
|
|
107
116
|
const limit = optionalNumber(body.limit);
|
|
108
117
|
const before = optionalString(body.before);
|
|
118
|
+
const connectionId = optionalString(body.connection_id);
|
|
109
119
|
return responseJson(await options.robono.connections.list({
|
|
110
120
|
external_user_id: externalUserId,
|
|
111
121
|
...(status ? { status } : {}),
|
|
112
122
|
...(limit ? { limit } : {}),
|
|
113
123
|
...(before ? { before } : {}),
|
|
124
|
+
...(connectionId ? { connection_id: connectionId } : {}),
|
|
114
125
|
}, requestOptions));
|
|
115
126
|
}
|
|
116
127
|
if (path === "/connections/profile") {
|
|
@@ -139,21 +150,25 @@ export function createRobonoBackendAdapter(options) {
|
|
|
139
150
|
if (path === "/messages/list") {
|
|
140
151
|
const limit = optionalNumber(body.limit);
|
|
141
152
|
const before = optionalString(body.before);
|
|
153
|
+
const after = optionalString(body.after);
|
|
142
154
|
return responseJson(await options.robono.messages.listFromRobono({
|
|
143
155
|
connection_id: requiredString(body.connection_id, "connection_id"),
|
|
144
156
|
external_user_id: externalUserId,
|
|
145
157
|
...(limit ? { limit } : {}),
|
|
146
158
|
...(before ? { before } : {}),
|
|
159
|
+
...(after ? { after } : {}),
|
|
147
160
|
}, requestOptions));
|
|
148
161
|
}
|
|
149
162
|
if (path === "/network-messages/list") {
|
|
150
163
|
const limit = optionalNumber(body.limit);
|
|
151
164
|
const before = optionalString(body.before);
|
|
165
|
+
const after = optionalString(body.after);
|
|
152
166
|
return responseJson(await options.robono.messages.list({
|
|
153
167
|
bridge_connection_id: requiredString(body.bridge_connection_id, "bridge_connection_id"),
|
|
154
168
|
external_user_id: externalUserId,
|
|
155
169
|
...(limit ? { limit } : {}),
|
|
156
170
|
...(before ? { before } : {}),
|
|
171
|
+
...(after ? { after } : {}),
|
|
157
172
|
}, requestOptions));
|
|
158
173
|
}
|
|
159
174
|
if (path === "/network-messages/events") {
|
|
@@ -191,19 +206,45 @@ export function createRobonoBackendAdapter(options) {
|
|
|
191
206
|
if (path === "/transforms/message") {
|
|
192
207
|
return responseJson(await options.robono.transforms.message(body, requestOptions));
|
|
193
208
|
}
|
|
194
|
-
|
|
209
|
+
if (path === "/push-diagnostics/events") {
|
|
210
|
+
const failureStage = optionalString(body.failure_stage);
|
|
211
|
+
const failureReason = optionalString(body.failure_reason);
|
|
212
|
+
const platform = optionalString(body.platform);
|
|
213
|
+
const provider = optionalString(body.provider);
|
|
214
|
+
const appVersion = optionalString(body.app_version);
|
|
215
|
+
const detail = optionalString(body.detail);
|
|
216
|
+
return responseJson(await options.robono.diagnostics.reportPush({
|
|
217
|
+
diagnostic_id: requiredString(body.diagnostic_id, "diagnostic_id"),
|
|
218
|
+
diagnostic_token: requiredString(body.diagnostic_token, "diagnostic_token"),
|
|
219
|
+
stage: requiredPushDiagnosticStage(body.stage),
|
|
220
|
+
...(failureStage ? { failure_stage: failureStage } : {}),
|
|
221
|
+
...(failureReason ? { failure_reason: failureReason } : {}),
|
|
222
|
+
...(platform ? { platform } : {}),
|
|
223
|
+
...(provider ? { provider } : {}),
|
|
224
|
+
...(appVersion ? { app_version: appVersion } : {}),
|
|
225
|
+
...(detail ? { detail } : {}),
|
|
226
|
+
}, requestOptions));
|
|
227
|
+
}
|
|
228
|
+
throw new AdapterRequestError(500, "adapter_handler_missing", "Authorized adapter route has no handler.");
|
|
195
229
|
}
|
|
196
230
|
catch (error) {
|
|
231
|
+
if (error instanceof AdapterRequestError) {
|
|
232
|
+
return responseError(error.status, error.code, error.message, requestId);
|
|
233
|
+
}
|
|
197
234
|
if (error instanceof RobonoError) {
|
|
235
|
+
const status = error.status ??
|
|
236
|
+
(error.code === "request_timeout" ? 504 : 502);
|
|
198
237
|
return responseJson({
|
|
199
238
|
error: { code: error.code, message: error.message },
|
|
200
239
|
request_id: error.requestId ?? requestId,
|
|
201
240
|
...(error.fields ? { fields: error.fields } : {}),
|
|
202
|
-
},
|
|
241
|
+
}, status);
|
|
203
242
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
243
|
+
console.error("Unexpected Robono adapter failure", {
|
|
244
|
+
request_id: requestId,
|
|
245
|
+
error,
|
|
246
|
+
});
|
|
247
|
+
return responseError(500, "adapter_internal_error", "The Robono adapter could not complete the request.", requestId);
|
|
207
248
|
}
|
|
208
249
|
};
|
|
209
250
|
}
|
|
@@ -227,38 +268,52 @@ function inputWithAuthenticatedUser(action, input, userId) {
|
|
|
227
268
|
action === "robono_messages.send"
|
|
228
269
|
|| action === "robono_messages.list"
|
|
229
270
|
|| action === "robono_messages.mark"
|
|
230
|
-
|| action === "message_transforms.create"
|
|
271
|
+
|| action === "message_transforms.create"
|
|
272
|
+
|| action === "push_diagnostics.report") {
|
|
231
273
|
return { ...input, external_user_id: userId };
|
|
232
274
|
}
|
|
233
275
|
return { ...input };
|
|
234
276
|
}
|
|
235
277
|
async function assertConnectionBelongsToUser(robono, connectionId, externalUserId, requestId) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
278
|
+
let before;
|
|
279
|
+
for (let page = 0; page < 1_000; page += 1) {
|
|
280
|
+
const result = await robono.networkConnections.list({
|
|
281
|
+
external_user_id: externalUserId,
|
|
282
|
+
limit: 100,
|
|
283
|
+
...(before ? { before } : {}),
|
|
284
|
+
}, { requestId });
|
|
285
|
+
if (result.connections.some((item) => item.bridge_connection_id === connectionId))
|
|
286
|
+
return;
|
|
287
|
+
if (!result.has_more || !result.next_before)
|
|
288
|
+
break;
|
|
289
|
+
before = result.next_before;
|
|
246
290
|
}
|
|
291
|
+
throw new RobonoError("Connection was not found for this child app user.", {
|
|
292
|
+
code: "connection_not_found",
|
|
293
|
+
status: 404,
|
|
294
|
+
requestId,
|
|
295
|
+
});
|
|
247
296
|
}
|
|
248
297
|
async function readBody(request, maxRequestBytes) {
|
|
249
298
|
const length = Number(request.headers.get("content-length") ?? "0");
|
|
250
299
|
if (Number.isFinite(length) && length > maxRequestBytes) {
|
|
251
|
-
throw new
|
|
300
|
+
throw new AdapterRequestError(413, "request_body_too_large", "Request body is too large.");
|
|
252
301
|
}
|
|
253
302
|
const text = await request.text();
|
|
254
303
|
if (new TextEncoder().encode(text).byteLength > maxRequestBytes) {
|
|
255
|
-
throw new
|
|
304
|
+
throw new AdapterRequestError(413, "request_body_too_large", "Request body is too large.");
|
|
256
305
|
}
|
|
257
306
|
if (!text.trim())
|
|
258
307
|
return {};
|
|
259
|
-
|
|
308
|
+
let parsed;
|
|
309
|
+
try {
|
|
310
|
+
parsed = JSON.parse(text);
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
throw new AdapterRequestError(400, "invalid_json", "Request body must contain valid JSON.");
|
|
314
|
+
}
|
|
260
315
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
261
|
-
throw new
|
|
316
|
+
throw new AdapterRequestError(400, "invalid_request_body", "Request body must be a JSON object.");
|
|
262
317
|
}
|
|
263
318
|
return parsed;
|
|
264
319
|
}
|
|
@@ -270,13 +325,23 @@ function normalizedAdapterPath(pathname) {
|
|
|
270
325
|
}
|
|
271
326
|
function requiredString(value, field) {
|
|
272
327
|
const normalized = optionalString(value);
|
|
273
|
-
if (!normalized)
|
|
274
|
-
throw new
|
|
328
|
+
if (!normalized) {
|
|
329
|
+
throw new AdapterRequestError(422, "required_field_missing", `${field} is required.`);
|
|
330
|
+
}
|
|
275
331
|
return normalized;
|
|
276
332
|
}
|
|
277
333
|
function optionalString(value) {
|
|
278
334
|
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
279
335
|
}
|
|
336
|
+
function optionalIdempotencyKey(value) {
|
|
337
|
+
if (!value)
|
|
338
|
+
return undefined;
|
|
339
|
+
const key = value.trim();
|
|
340
|
+
if (key.length < 8 || key.length > 200) {
|
|
341
|
+
throw new AdapterRequestError(422, "idempotency_key_invalid", "Idempotency-Key must contain 8 to 200 characters.");
|
|
342
|
+
}
|
|
343
|
+
return key;
|
|
344
|
+
}
|
|
280
345
|
function optionalNumber(value) {
|
|
281
346
|
return typeof value === "number" && Number.isFinite(value)
|
|
282
347
|
? value
|
|
@@ -286,13 +351,30 @@ function requiredEvent(value) {
|
|
|
286
351
|
if (value === "delivered" || value === "read" || value === "heard") {
|
|
287
352
|
return value;
|
|
288
353
|
}
|
|
289
|
-
throw new
|
|
354
|
+
throw new AdapterRequestError(422, "event_invalid", "event must be delivered, read, or heard.");
|
|
290
355
|
}
|
|
291
356
|
function requiredConnectionResponseStatus(value) {
|
|
292
357
|
if (value === "accepted" || value === "rejected" || value === "not_found") {
|
|
293
358
|
return value;
|
|
294
359
|
}
|
|
295
|
-
throw new
|
|
360
|
+
throw new AdapterRequestError(422, "connection_status_invalid", "status must be accepted, rejected, or not_found.");
|
|
361
|
+
}
|
|
362
|
+
function requiredPushDiagnosticStage(value) {
|
|
363
|
+
if (value === "provider_accepted" || value === "device_received" ||
|
|
364
|
+
value === "content_fetched" || value === "rendered" ||
|
|
365
|
+
value === "polling_recovered" || value === "failed")
|
|
366
|
+
return value;
|
|
367
|
+
throw new AdapterRequestError(422, "push_diagnostic_stage_invalid", "stage is not a supported push diagnostic stage.");
|
|
368
|
+
}
|
|
369
|
+
class AdapterRequestError extends Error {
|
|
370
|
+
status;
|
|
371
|
+
code;
|
|
372
|
+
constructor(status, code, message) {
|
|
373
|
+
super(message);
|
|
374
|
+
this.status = status;
|
|
375
|
+
this.code = code;
|
|
376
|
+
this.name = "AdapterRequestError";
|
|
377
|
+
}
|
|
296
378
|
}
|
|
297
379
|
function positiveInteger(value, fallback) {
|
|
298
380
|
return typeof value === "number" && Number.isFinite(value) && value > 0
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwC1C,MAAM,oBAAoB,GAA8C;IACtE,WAAW,EAAE,eAAe;IAC5B,sBAAsB,EAAE,6BAA6B;IACrD,8BAA8B,EAAE,6BAA6B;IAC7D,2BAA2B,EAAE,0BAA0B;IACvD,iCAAiC,EAAE,gCAAgC;IACnE,6BAA6B,EAAE,4BAA4B;IAC3D,cAAc,EAAE,2BAA2B;IAC3C,mBAAmB,EAAE,yBAAyB;IAC9C,sBAAsB,EAAE,mCAAmC;IAC3D,yBAAyB,EAAE,+BAA+B;IAC1D,mBAAmB,EAAE,uBAAuB;IAC5C,wBAAwB,EAAE,uBAAuB;IACjD,0BAA0B,EAAE,uBAAuB;IACnD,WAAW,EAAE,sBAAsB;IACnC,gBAAgB,EAAE,sBAAsB;IACxC,iBAAiB,EAAE,sBAAsB;IACzC,qBAAqB,EAAE,2BAA2B;IAClD,oBAAoB,EAAE,0BAA0B;CACjD,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACxC,OAAoC;IAEpC,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE5E,OAAO,KAAK,UAAU,MAAM,CAAC,OAAgB;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YACnD,aAAa,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,aAAa,CAClB,GAAG,EACH,oBAAoB,EACpB,yBAAyB,EACzB,SAAS,CACV,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACrE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,aAAa,CAClB,GAAG,EACH,8BAA8B,EAC9B,0CAA0C,EAC1C,SAAS,CACV,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,aAAa,CAClB,GAAG,EACH,yBAAyB,EACzB,qCAAqC,EACrC,SAAS,CACV,CAAC;YACJ,CAAC;YACD,MAAM,kBAAkB,GAAG,0BAA0B,CACnD,MAAM,EACN,IAAI,EACJ,cAAc,CACf,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM;gBACN,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,kBAAkB;gBACzB,OAAO;aACR,CAAC,IAAI,KAAK,CAAC;YACZ,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,aAAa,CAClB,GAAG,EACH,0BAA0B,EAC1B,wEAAwE,EACxE,SAAS,CACV,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAAG,EAAE,SAAS,EAAE,CAAC;YAErC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACpC,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;oBAC9C,GAAG,IAAI;oBACP,uBAAuB,EAAE,cAAc;oBACvC,mBAAmB,EAAE,cAAc,CACjC,IAAI,CAAC,mBAAmB,EACxB,qBAAqB,CACtB;oBACD,iBAAiB,EAAE,cAAc,CAC/B,IAAI,CAAC,iBAAiB,EACtB,mBAAmB,CACpB;iBACF,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,8BAA8B,EAAE,CAAC;gBAC5C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;oBAC9C,GAAG,IAAI;oBACP,oBAAoB,EAAE,cAAc,CAClC,IAAI,CAAC,oBAAoB,EACzB,sBAAsB,CACvB;oBACD,MAAM,EAAE,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC;oBACrD,uBAAuB,EAAE,cAAc;iBACxC,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;oBAC3C,gBAAgB,EAAE,cAAc;oBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,iCAAiC,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC;oBACjD,oBAAoB,EAAE,cAAc,CAClC,IAAI,CAAC,oBAAoB,EACzB,sBAAsB,CACvB;oBACD,gBAAgB,EAAE,cAAc;oBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBAC7C,GAAG,IAAI;oBACP,oBAAoB,EAAE,cAAc,CAClC,IAAI,CAAC,oBAAoB,EACzB,sBAAsB,CACvB;oBACD,gBAAgB,EAAE,cAAc;iBACjC,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;oBACtC,GAAG,IAAI;oBACP,iBAAiB,EAAE,cAAc,CAC/B,IAAI,CAAC,iBAAiB,EACtB,mBAAmB,CACpB;oBACD,gBAAgB,EAAE,cAAc;oBAChC,qBAAqB,EAAE,cAAc,CACnC,IAAI,CAAC,qBAAqB,EAC1B,uBAAuB,CACxB;iBACF,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpC,gBAAgB,EAAE,cAAc;oBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACpC,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;oBAC7C,GAAG,IAAI;oBACP,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;oBAClE,gBAAgB,EAAE,cAAc;iBACjC,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC1C,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;oBAClE,gBAAgB,EAAE,cAAc;oBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACjC,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAChC;oBACE,GAAG,IAAI;oBACP,oBAAoB,EAAE,cAAc,CAClC,IAAI,CAAC,oBAAoB,EACzB,sBAAsB,CACvB;oBACD,gBAAgB,EAAE,cAAc;oBAChC,mBAAmB,EAAE,cAAc,CACjC,IAAI,CAAC,mBAAmB,EACxB,qBAAqB,CACtB;iBACiD,EACpD,cAAc,CACf,CACF,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC3C,aAAa,EAAE,cAAc,CAC3B,IAAI,CAAC,aAAa,EAClB,eAAe,CAChB;oBACD,gBAAgB,EAAE,cAAc;oBAChC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjC,oBAAoB,EAAE,cAAc,CAClC,IAAI,CAAC,oBAAoB,EACzB,sBAAsB,CACvB;oBACD,gBAAgB,EAAE,cAAc;oBAChC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;gBACxC,MAAM,kBAAkB,GAAG,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,sBAAsB,CACvB,CAAC;gBACF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpD,MAAM,6BAA6B,CACjC,OAAO,CAAC,MAAM,EACd,kBAAkB,EAClB,cAAc,EACd,SAAS,CACV,CAAC;gBACF,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjC,oBAAoB,EAAE,kBAAkB;oBACxC,iBAAiB,EAAE,cAAc,CAC/B,IAAI,CAAC,iBAAiB,EACtB,mBAAmB,CACpB;oBACD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBAChC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACzC,GAAG,IAAI;oBACP,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;oBAClE,gBAAgB,EAAE,cAAc;oBAChC,mBAAmB,EAAE,cAAc,CACjC,IAAI,CAAC,mBAAmB,EACxB,qBAAqB,CACtB;iBACyD,EAAE,cAAc,CAAC,CAC9E,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpD,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC3C,aAAa,EAAE,cAAc,CAC3B,IAAI,CAAC,aAAa,EAClB,eAAe,CAChB;oBACD,iBAAiB,EAAE,cAAc,CAC/B,IAAI,CAAC,iBAAiB,EACtB,mBAAmB,CACpB;oBACD,gBAAgB,EAAE,cAAc;oBAChC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBAChC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,EAAE,cAAc,CAAC,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAClC,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CACpC,IAA2D,EAC3D,cAAc,CACf,CACF,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACnC,OAAO,YAAY,CACjB,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CACrC,IAEI,EACJ,cAAc,CACf,CACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,OAAO,YAAY,CAAC;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;oBACnD,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;oBACxC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClD,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,aAAa,CAClB,GAAG,EACH,wBAAwB,EACxB,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,gCAAgC,EACpC,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAiC,EACjC,KAAiB,EACjB,MAAc;IAEd,IAAI,MAAM,KAAK,6BAA6B,EAAE,CAAC;QAC7C,OAAO,EAAE,GAAG,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,KAAK,6BAA6B,EAAE,CAAC;QAC7C,OAAO,EAAE,GAAG,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,IACE,MAAM,KAAK,0BAA0B;QACrC,MAAM,KAAK,gCAAgC;QAC3C,MAAM,KAAK,4BAA4B;QACvC,MAAM,KAAK,2BAA2B;QACtC,MAAM,KAAK,yBAAyB;QACpC,MAAM,KAAK,mCAAmC;QAC9C,MAAM,KAAK,+BAA+B;QAC1C,MAAM,KAAK,uBAAuB;QAClC,MAAM,KAAK,uBAAuB;QAClC,MAAM,KAAK,uBAAuB;QAClC,MAAM,KAAK,sBAAsB;WAC9B,MAAM,KAAK,sBAAsB;WACjC,MAAM,KAAK,sBAAsB;WACjC,MAAM,KAAK,2BAA2B,EACzC,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,MAAoB,EACpB,YAAoB,EACpB,cAAsB,EACtB,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAClD,gBAAgB,EAAE,cAAc;QAChC,KAAK,EAAE,GAAG;KACX,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAClB,IACE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChC,IAAI,CAAC,oBAAoB,KAAK,YAAY,CAC3C,EACD,CAAC;QACD,MAAM,IAAI,WAAW,CAAC,mDAAmD,EAAE;YACzE,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,GAAG;YACX,SAAS;SACV,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,eAAuB;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,eAAe,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,eAAe,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAoB,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3E,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc;IACtD,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB,EAAE,QAAgB;IAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,MAAM,GAAG,GAAG;IAClD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC3C,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,MAAc,EACd,IAAY,EACZ,OAAe,EACf,SAAiB;IAEjB,OAAO,YAAY,CACjB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EACnD,MAAM,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type BridgeDirection, restrictionsFor } from "./restrictions.js";
|
|
2
|
-
import type { BridgeConnection, BridgeConnectionListResponse, BridgeConnectionResponse, BridgeMessageEventResponse, BridgeMessageListResponse, ConnectEndpointInput, CreateRobonoConnectionInput, DirectoryResponse, EndpointConnection, EndpointMessageResponse, GuardianMessageListResponse, JsonObject, LanguageResponse, MessageTransformInput, PushDiagnosticResponse, ReportPushDiagnosticInput, RequestBridgeConnectionInput, RespondBridgeConnectionInput, RobonoConnectionResponse, RobonoConnectionListResponse, RobonoMessageListResponse, RobonoRequestOptions, RobonoServerOptions, SendBridgeMessageInput, SendBridgeMessageResponse, SendEndpointMessageInput, SendGuardianMessageInput, SendGuardianMessageResponse, SendRobonoMessageInput, SendRobonoMessageResponse, SpeechTransformInput, TransformResponse, UpdateBridgeConnectionInput } from "./types.js";
|
|
2
|
+
import type { BridgeConnection, BridgeConnectionListResponse, BridgeConnectionResponse, BridgeMessageEventResponse, BridgeMessageListResponse, ConnectEndpointInput, CreateRobonoConnectionInput, DirectoryResponse, DisconnectEndpointConnectionInput, EndpointConnection, EndpointConnectionCursor, EndpointConnectionListResponse, EndpointMessageListResponse, EndpointMessageResponse, GuardianMessageListResponse, JsonObject, LanguageResponse, MessageTransformInput, PushDiagnosticResponse, ReportPushDiagnosticInput, RequestBridgeConnectionInput, RespondBridgeConnectionInput, RobonoConnectionResponse, RobonoConnectionListResponse, RobonoMessageListResponse, RobonoRequestOptions, RobonoServerOptions, SendBridgeMessageInput, SendBridgeMessageResponse, SendEndpointMessageInput, SendGuardianMessageInput, SendGuardianMessageResponse, SendRobonoMessageInput, SendRobonoMessageResponse, SpeechTransformInput, TransformResponse, UpdateBridgeConnectionInput, UpdateEndpointConnectionInput, MarkEndpointMessageInput } from "./types.js";
|
|
3
3
|
export declare class RobonoServer {
|
|
4
4
|
readonly directory: {
|
|
5
5
|
list: (input?: {
|
|
@@ -15,6 +15,7 @@ export declare class RobonoServer {
|
|
|
15
15
|
status?: string;
|
|
16
16
|
limit?: number;
|
|
17
17
|
before?: string;
|
|
18
|
+
connection_id?: string;
|
|
18
19
|
}, options?: RobonoRequestOptions) => Promise<RobonoConnectionListResponse>;
|
|
19
20
|
updateProfile: (input: JsonObject, options?: RobonoRequestOptions) => Promise<RobonoConnectionResponse>;
|
|
20
21
|
disconnect: (input: {
|
|
@@ -24,6 +25,20 @@ export declare class RobonoServer {
|
|
|
24
25
|
disconnected_at?: string;
|
|
25
26
|
}, options?: RobonoRequestOptions) => Promise<JsonObject>;
|
|
26
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Fully normalized connection operations for every directory endpoint.
|
|
30
|
+
* Prefer this namespace in new server-only integrations.
|
|
31
|
+
*/
|
|
32
|
+
readonly endpointConnections: {
|
|
33
|
+
connect: (input: ConnectEndpointInput, options?: RobonoRequestOptions) => Promise<EndpointConnection>;
|
|
34
|
+
list: (input: {
|
|
35
|
+
external_user_id: string;
|
|
36
|
+
limit?: number;
|
|
37
|
+
cursor?: EndpointConnectionCursor;
|
|
38
|
+
}, options?: RobonoRequestOptions) => Promise<EndpointConnectionListResponse>;
|
|
39
|
+
update: (input: UpdateEndpointConnectionInput, options?: RobonoRequestOptions) => Promise<EndpointConnection>;
|
|
40
|
+
disconnect: (input: DisconnectEndpointConnectionInput, options?: RobonoRequestOptions) => Promise<EndpointConnection>;
|
|
41
|
+
};
|
|
27
42
|
readonly networkConnections: {
|
|
28
43
|
request: (input: RequestBridgeConnectionInput, options?: RobonoRequestOptions) => Promise<BridgeConnectionResponse>;
|
|
29
44
|
update: (input: UpdateBridgeConnectionInput, options?: RobonoRequestOptions) => Promise<BridgeConnectionResponse>;
|
|
@@ -33,6 +48,7 @@ export declare class RobonoServer {
|
|
|
33
48
|
status?: string;
|
|
34
49
|
limit?: number;
|
|
35
50
|
before?: string;
|
|
51
|
+
bridge_connection_id?: string;
|
|
36
52
|
}, options?: RobonoRequestOptions) => Promise<BridgeConnectionListResponse>;
|
|
37
53
|
disconnect: (input: {
|
|
38
54
|
bridge_connection_id: string;
|
|
@@ -49,6 +65,7 @@ export declare class RobonoServer {
|
|
|
49
65
|
external_user_id?: string;
|
|
50
66
|
limit?: number;
|
|
51
67
|
before?: string;
|
|
68
|
+
after?: string;
|
|
52
69
|
}, options?: RobonoRequestOptions) => Promise<RobonoMessageListResponse>;
|
|
53
70
|
send: {
|
|
54
71
|
(input: SendEndpointMessageInput, options?: RobonoRequestOptions): Promise<EndpointMessageResponse>;
|
|
@@ -74,6 +91,7 @@ export declare class RobonoServer {
|
|
|
74
91
|
external_user_id?: string;
|
|
75
92
|
limit?: number;
|
|
76
93
|
before?: string;
|
|
94
|
+
after?: string;
|
|
77
95
|
}, options?: RobonoRequestOptions) => Promise<BridgeMessageListResponse>;
|
|
78
96
|
mark: (input: {
|
|
79
97
|
bridge_connection_id: string;
|
|
@@ -97,6 +115,21 @@ export declare class RobonoServer {
|
|
|
97
115
|
dry_run?: boolean;
|
|
98
116
|
}, options?: RobonoRequestOptions) => Promise<JsonObject>;
|
|
99
117
|
};
|
|
118
|
+
/**
|
|
119
|
+
* Fully normalized message operations for every directory endpoint.
|
|
120
|
+
* Prefer this namespace in new server-only integrations.
|
|
121
|
+
*/
|
|
122
|
+
readonly endpointMessages: {
|
|
123
|
+
send: (input: SendEndpointMessageInput, options?: RobonoRequestOptions) => Promise<EndpointMessageResponse>;
|
|
124
|
+
list: (input: {
|
|
125
|
+
connection: EndpointConnection;
|
|
126
|
+
external_user_id: string;
|
|
127
|
+
limit?: number;
|
|
128
|
+
before?: string;
|
|
129
|
+
after?: string;
|
|
130
|
+
}, options?: RobonoRequestOptions) => Promise<EndpointMessageListResponse>;
|
|
131
|
+
mark: (input: MarkEndpointMessageInput, options?: RobonoRequestOptions) => Promise<EndpointMessageResponse>;
|
|
132
|
+
};
|
|
100
133
|
readonly transforms: {
|
|
101
134
|
message: (input: MessageTransformInput, options?: RobonoRequestOptions) => Promise<TransformResponse>;
|
|
102
135
|
speech: (input: SpeechTransformInput, options?: RobonoRequestOptions) => Promise<TransformResponse>;
|