@datalayer/personal-agent-protocol 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +248 -94
- package/lib/browser-server.d.ts +26 -0
- package/lib/browser-server.d.ts.map +1 -0
- package/lib/browser-server.js +61 -0
- package/lib/browser-server.js.map +1 -0
- package/lib/browser.d.ts +43 -0
- package/lib/browser.d.ts.map +1 -0
- package/lib/browser.js +103 -0
- package/lib/browser.js.map +1 -0
- package/lib/chunk-JIMKKTDT.js +5194 -0
- package/lib/chunk-JIMKKTDT.js.map +7 -0
- package/lib/conversations.d.ts +48 -0
- package/lib/conversations.d.ts.map +1 -0
- package/lib/conversations.js +240 -0
- package/lib/conversations.js.map +1 -0
- package/lib/crypto.js +1 -1
- package/lib/crypto.js.map +1 -1
- package/lib/device.d.ts +44 -0
- package/lib/device.d.ts.map +1 -0
- package/lib/device.js +327 -0
- package/lib/device.js.map +1 -0
- package/lib/errors.d.ts +16 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +18 -0
- package/lib/errors.js.map +1 -1
- package/lib/index.d.ts +6 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +75 -3737
- package/lib/index.js.map +4 -4
- package/lib/reactor.d.ts +4 -0
- package/lib/reactor.d.ts.map +1 -1
- package/lib/reactor.js +3 -1
- package/lib/reactor.js.map +1 -1
- package/lib/server.d.ts +1 -0
- package/lib/server.d.ts.map +1 -1
- package/lib/server.js +125 -63
- package/lib/server.js.map +7 -1
- package/lib/transport.d.ts +24 -0
- package/lib/transport.d.ts.map +1 -0
- package/lib/transport.js +112 -0
- package/lib/transport.js.map +1 -0
- package/package.json +4 -3
package/lib/device.js
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { AuthorizationError } from "./errors.js";
|
|
2
|
+
import { parseJsonStrict } from "./json.js";
|
|
3
|
+
import { AuthorizationStateStores, Clocks, DpopProofProviders, RandomSources, Signers, TokenStores, firstContribution, } from "./reactor.js";
|
|
4
|
+
import { SecretValue } from "./secret.js";
|
|
5
|
+
import { JWT_CLIENT_ASSERTION, parseSessionToken } from "./sessions.js";
|
|
6
|
+
export const DEVICE_CODE_GRANT = "urn:ietf:params:oauth:grant-type:device_code";
|
|
7
|
+
function httpsUrl(value, label) {
|
|
8
|
+
let parsed;
|
|
9
|
+
try {
|
|
10
|
+
parsed = new URL(value);
|
|
11
|
+
}
|
|
12
|
+
catch (cause) {
|
|
13
|
+
throw new AuthorizationError("invalid_url", `${label} must be an HTTPS URL`, { cause });
|
|
14
|
+
}
|
|
15
|
+
if (parsed.protocol !== "https:" || parsed.username || parsed.password) {
|
|
16
|
+
throw new AuthorizationError("invalid_url", `${label} must be an HTTPS URL`);
|
|
17
|
+
}
|
|
18
|
+
return parsed.toString();
|
|
19
|
+
}
|
|
20
|
+
function scopes(values) {
|
|
21
|
+
const result = [...new Set(values)];
|
|
22
|
+
const token = /^[\x21\x23-\x5b\x5d-\x7e]+$/;
|
|
23
|
+
if (result.length === 0 || result.some((scope) => !token.test(scope))) {
|
|
24
|
+
throw new AuthorizationError("invalid_scope", "At least one valid OAuth scope is required");
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
function base64Url(bytes) {
|
|
29
|
+
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
30
|
+
let output = "";
|
|
31
|
+
for (let index = 0; index < bytes.length; index += 3) {
|
|
32
|
+
const first = bytes[index] ?? 0;
|
|
33
|
+
const second = bytes[index + 1];
|
|
34
|
+
const third = bytes[index + 2];
|
|
35
|
+
output += alphabet[first >>> 2];
|
|
36
|
+
output += alphabet[((first & 3) << 4) | ((second ?? 0) >>> 4)];
|
|
37
|
+
if (second !== undefined) {
|
|
38
|
+
output += alphabet[((second & 15) << 2) | ((third ?? 0) >>> 6)];
|
|
39
|
+
}
|
|
40
|
+
if (third !== undefined)
|
|
41
|
+
output += alphabet[third & 63];
|
|
42
|
+
}
|
|
43
|
+
return output;
|
|
44
|
+
}
|
|
45
|
+
function opaqueId(prefix, bytes) {
|
|
46
|
+
if (bytes.byteLength < 16) {
|
|
47
|
+
throw new AuthorizationError("weak_entropy", "Device Sign-In requires 128 random bits");
|
|
48
|
+
}
|
|
49
|
+
return `${prefix}_${base64Url(bytes)}`;
|
|
50
|
+
}
|
|
51
|
+
function record(value, label) {
|
|
52
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
53
|
+
throw new AuthorizationError("invalid_device_response", `${label} must be an object`);
|
|
54
|
+
}
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
function string(value, label) {
|
|
58
|
+
if (typeof value !== "string" || !value) {
|
|
59
|
+
throw new AuthorizationError("invalid_device_response", `${label} must be a non-empty string`);
|
|
60
|
+
}
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
63
|
+
function parseDeviceAuthorization(value) {
|
|
64
|
+
const source = record(value, "device authorization response");
|
|
65
|
+
const expiresIn = source.expires_in;
|
|
66
|
+
const interval = source.interval ?? 5;
|
|
67
|
+
if (!Number.isInteger(expiresIn) || expiresIn <= 0 || expiresIn > 3600) {
|
|
68
|
+
throw new AuthorizationError("invalid_device_response", "expires_in must be 1..3600");
|
|
69
|
+
}
|
|
70
|
+
if (!Number.isInteger(interval) || interval <= 0 || interval > 300) {
|
|
71
|
+
throw new AuthorizationError("invalid_device_response", "interval must be 1..300");
|
|
72
|
+
}
|
|
73
|
+
const complete = source.verification_uri_complete;
|
|
74
|
+
if (complete !== undefined && typeof complete !== "string") {
|
|
75
|
+
throw new AuthorizationError("invalid_device_response", "verification_uri_complete must be a string");
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
deviceCode: new SecretValue(string(source.device_code, "device_code")),
|
|
79
|
+
userCode: string(source.user_code, "user_code"),
|
|
80
|
+
verificationUri: httpsUrl(string(source.verification_uri, "verification_uri"), "verification_uri"),
|
|
81
|
+
...(complete === undefined
|
|
82
|
+
? {}
|
|
83
|
+
: { verificationUriComplete: httpsUrl(complete, "verification_uri_complete") }),
|
|
84
|
+
expiresIn: expiresIn,
|
|
85
|
+
interval: interval,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function isPending(value) {
|
|
89
|
+
if (typeof value !== "object" || value === null)
|
|
90
|
+
return false;
|
|
91
|
+
const pending = value;
|
|
92
|
+
return (pending.kind === "pap.device-sign-in.v1" &&
|
|
93
|
+
pending.deviceCode instanceof SecretValue &&
|
|
94
|
+
pending.expiresAt instanceof Date &&
|
|
95
|
+
pending.nextPollAt instanceof Date &&
|
|
96
|
+
typeof pending.tokenEndpoint === "string" &&
|
|
97
|
+
typeof pending.interval === "number");
|
|
98
|
+
}
|
|
99
|
+
/** PAP Device Sign-In with private device codes and Reactor-backed Account Tokens. */
|
|
100
|
+
export class DeviceSignInClient {
|
|
101
|
+
#reactor;
|
|
102
|
+
#fetch;
|
|
103
|
+
#maxResponseBytes;
|
|
104
|
+
constructor(options) {
|
|
105
|
+
const fetcher = options.fetch ?? globalThis.fetch;
|
|
106
|
+
if (!fetcher)
|
|
107
|
+
throw new AuthorizationError("fetch_unavailable", "A fetch implementation is required");
|
|
108
|
+
const limit = options.maxResponseBytes ?? 100 * 1024;
|
|
109
|
+
if (!Number.isInteger(limit) || limit <= 0)
|
|
110
|
+
throw new RangeError("maxResponseBytes must be positive");
|
|
111
|
+
this.#reactor = options.reactor;
|
|
112
|
+
this.#fetch = fetcher;
|
|
113
|
+
this.#maxResponseBytes = limit;
|
|
114
|
+
}
|
|
115
|
+
async begin(options) {
|
|
116
|
+
this.#validateContext(options);
|
|
117
|
+
const clock = firstContribution(this.#reactor, Clocks, "clock");
|
|
118
|
+
const random = firstContribution(this.#reactor, RandomSources, "random source");
|
|
119
|
+
const signer = firstContribution(this.#reactor, Signers, "signer");
|
|
120
|
+
const endpoint = httpsUrl(options.deviceAuthorizationEndpoint, "deviceAuthorizationEndpoint");
|
|
121
|
+
const tokenEndpoint = httpsUrl(options.tokenEndpoint, "tokenEndpoint");
|
|
122
|
+
const issuer = httpsUrl(options.issuer, "issuer").replace(/\/$/, "");
|
|
123
|
+
const clientId = httpsUrl(options.clientId, "clientId");
|
|
124
|
+
const requestedScopes = scopes(options.scopes);
|
|
125
|
+
const now = clock.now();
|
|
126
|
+
const clientAssertion = await signer.sign(this.#claims(clientId, endpoint, now, random.bytes(16)), { purpose: "client_assertion" });
|
|
127
|
+
const response = await this.#request(endpoint, new URLSearchParams({
|
|
128
|
+
scope: requestedScopes.join(" "),
|
|
129
|
+
client_id: clientId,
|
|
130
|
+
client_assertion_type: JWT_CLIENT_ASSERTION,
|
|
131
|
+
client_assertion: clientAssertion.reveal(),
|
|
132
|
+
}), undefined, options.signal);
|
|
133
|
+
const payload = await this.#decode(response, "Device authorization");
|
|
134
|
+
if (!response.ok)
|
|
135
|
+
throw this.#remoteError(response, payload, "Company refused Device Sign-In");
|
|
136
|
+
const authorization = parseDeviceAuthorization(payload);
|
|
137
|
+
const expiresAt = new Date(now.getTime() + authorization.expiresIn * 1000);
|
|
138
|
+
const reference = opaqueId("device", random.bytes(16));
|
|
139
|
+
const pending = {
|
|
140
|
+
kind: "pap.device-sign-in.v1",
|
|
141
|
+
deviceCode: authorization.deviceCode,
|
|
142
|
+
tokenEndpoint,
|
|
143
|
+
issuer,
|
|
144
|
+
clientId,
|
|
145
|
+
tenantId: options.tenantId,
|
|
146
|
+
pairwiseUserId: options.pairwiseUserId,
|
|
147
|
+
sessionId: options.sessionId,
|
|
148
|
+
scopes: requestedScopes,
|
|
149
|
+
expiresAt,
|
|
150
|
+
nextPollAt: new Date(now.getTime() + authorization.interval * 1000),
|
|
151
|
+
interval: authorization.interval,
|
|
152
|
+
};
|
|
153
|
+
const store = firstContribution(this.#reactor, AuthorizationStateStores, "authorization state store");
|
|
154
|
+
await store.put(reference, pending, { expiresAt });
|
|
155
|
+
return {
|
|
156
|
+
reference,
|
|
157
|
+
userCode: authorization.userCode,
|
|
158
|
+
verificationUri: authorization.verificationUri,
|
|
159
|
+
...(authorization.verificationUriComplete === undefined
|
|
160
|
+
? {}
|
|
161
|
+
: { verificationUriComplete: authorization.verificationUriComplete }),
|
|
162
|
+
expiresAt,
|
|
163
|
+
pollInterval: authorization.interval,
|
|
164
|
+
requestedScopes,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
async poll(reference, signal) {
|
|
168
|
+
const store = firstContribution(this.#reactor, AuthorizationStateStores, "authorization state store");
|
|
169
|
+
const pending = await store.take(reference);
|
|
170
|
+
if (!isPending(pending)) {
|
|
171
|
+
throw new AuthorizationError("invalid_or_expired_device_session", "Device Sign-In is unknown, expired, complete, or already being polled");
|
|
172
|
+
}
|
|
173
|
+
const clock = firstContribution(this.#reactor, Clocks, "clock");
|
|
174
|
+
const now = clock.now();
|
|
175
|
+
if (now.getTime() >= pending.expiresAt.getTime()) {
|
|
176
|
+
throw new AuthorizationError("expired_token", "Device Sign-In has expired");
|
|
177
|
+
}
|
|
178
|
+
if (now.getTime() < pending.nextPollAt.getTime()) {
|
|
179
|
+
await store.put(reference, pending, { expiresAt: pending.expiresAt });
|
|
180
|
+
return { status: "pending", retryAt: pending.nextPollAt, grantedScopes: [], missingScopes: [] };
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
const result = await this.#pollToken(pending, now, signal);
|
|
184
|
+
if (result.response.ok)
|
|
185
|
+
return await this.#complete(result.response, result.payload, pending);
|
|
186
|
+
const source = typeof result.payload === "object" && result.payload !== null ? result.payload : {};
|
|
187
|
+
const remote = "error" in source ? source.error : undefined;
|
|
188
|
+
if (remote === "authorization_pending" || remote === "slow_down") {
|
|
189
|
+
const interval = pending.interval + (remote === "slow_down" ? 5 : 0);
|
|
190
|
+
const resumed = { ...pending, interval, nextPollAt: new Date(now.getTime() + interval * 1000) };
|
|
191
|
+
await store.put(reference, resumed, { expiresAt: pending.expiresAt });
|
|
192
|
+
return { status: "pending", retryAt: resumed.nextPollAt, grantedScopes: [], missingScopes: [] };
|
|
193
|
+
}
|
|
194
|
+
if (remote === "access_denied" || remote === "expired_token") {
|
|
195
|
+
throw new AuthorizationError(remote, "Device Sign-In ended without authorization");
|
|
196
|
+
}
|
|
197
|
+
await store.put(reference, pending, { expiresAt: pending.expiresAt });
|
|
198
|
+
throw this.#remoteError(result.response, result.payload, "Company refused the device token request");
|
|
199
|
+
}
|
|
200
|
+
catch (cause) {
|
|
201
|
+
if (cause instanceof AuthorizationError && ["access_denied", "expired_token"].includes(cause.code)) {
|
|
202
|
+
throw cause;
|
|
203
|
+
}
|
|
204
|
+
const existing = await store.take(reference);
|
|
205
|
+
if (existing === undefined)
|
|
206
|
+
await store.put(reference, pending, { expiresAt: pending.expiresAt });
|
|
207
|
+
throw cause;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async #pollToken(pending, now, signal) {
|
|
211
|
+
const random = firstContribution(this.#reactor, RandomSources, "random source");
|
|
212
|
+
const signer = firstContribution(this.#reactor, Signers, "signer");
|
|
213
|
+
const dpop = firstContribution(this.#reactor, DpopProofProviders, "DPoP proof provider");
|
|
214
|
+
const assertion = await signer.sign(this.#claims(pending.clientId, pending.tokenEndpoint, now, random.bytes(16)), { purpose: "client_assertion" });
|
|
215
|
+
const proof = await dpop.create({
|
|
216
|
+
method: "POST",
|
|
217
|
+
url: pending.tokenEndpoint,
|
|
218
|
+
tenantId: pending.tenantId,
|
|
219
|
+
subject: pending.pairwiseUserId,
|
|
220
|
+
issuer: pending.issuer,
|
|
221
|
+
});
|
|
222
|
+
const response = await this.#request(pending.tokenEndpoint, new URLSearchParams({
|
|
223
|
+
grant_type: DEVICE_CODE_GRANT,
|
|
224
|
+
device_code: pending.deviceCode.reveal(),
|
|
225
|
+
session_id: pending.sessionId,
|
|
226
|
+
client_id: pending.clientId,
|
|
227
|
+
client_assertion_type: JWT_CLIENT_ASSERTION,
|
|
228
|
+
client_assertion: assertion.reveal(),
|
|
229
|
+
}), proof.reveal(), signal);
|
|
230
|
+
return { response, payload: await this.#decode(response, "Device token") };
|
|
231
|
+
}
|
|
232
|
+
async #complete(response, payload, pending) {
|
|
233
|
+
let token;
|
|
234
|
+
try {
|
|
235
|
+
token = parseSessionToken(payload);
|
|
236
|
+
}
|
|
237
|
+
catch (cause) {
|
|
238
|
+
throw new AuthorizationError("invalid_token_response", "Device token response is malformed", {
|
|
239
|
+
statusCode: response.status,
|
|
240
|
+
cause,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
if (token.tokenType !== "DPoP" || !token.signedIn || token.sessionId !== pending.sessionId) {
|
|
244
|
+
throw new AuthorizationError("invalid_token_response", "Device Sign-In must return the signed-in proof-bound Session", { statusCode: response.status });
|
|
245
|
+
}
|
|
246
|
+
if (token.scopes.some((scope) => !pending.scopes.includes(scope))) {
|
|
247
|
+
throw new AuthorizationError("scope_escalation", "Company returned an unrequested scope");
|
|
248
|
+
}
|
|
249
|
+
if (!token.accountToken) {
|
|
250
|
+
throw new AuthorizationError("missing_account_token", "Device Sign-In did not return an Account Token");
|
|
251
|
+
}
|
|
252
|
+
const random = firstContribution(this.#reactor, RandomSources, "random source");
|
|
253
|
+
const accountTokenReference = opaqueId("account", random.bytes(16));
|
|
254
|
+
const tokens = firstContribution(this.#reactor, TokenStores, "token store");
|
|
255
|
+
await tokens.put(accountTokenReference, token.accountToken);
|
|
256
|
+
const { accountToken: _accountToken, ...publicToken } = token;
|
|
257
|
+
return {
|
|
258
|
+
status: "complete",
|
|
259
|
+
token: publicToken,
|
|
260
|
+
accountTokenReference,
|
|
261
|
+
grantedScopes: publicToken.scopes,
|
|
262
|
+
missingScopes: pending.scopes.filter((scope) => !publicToken.scopes.includes(scope)),
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
#claims(clientId, audience, now, entropy) {
|
|
266
|
+
const iat = Math.floor(now.getTime() / 1000);
|
|
267
|
+
return { iss: clientId, sub: clientId, aud: audience, iat, exp: iat + 60, jti: opaqueId("jti", entropy) };
|
|
268
|
+
}
|
|
269
|
+
#validateContext(options) {
|
|
270
|
+
if (!options.tenantId || options.tenantId.length > 256)
|
|
271
|
+
throw new RangeError("Invalid tenantId");
|
|
272
|
+
const identifiers = [
|
|
273
|
+
["pairwiseUserId", options.pairwiseUserId],
|
|
274
|
+
["sessionId", options.sessionId],
|
|
275
|
+
];
|
|
276
|
+
for (const [label, value] of identifiers) {
|
|
277
|
+
if (!/^[A-Za-z0-9_-]{1,256}$/.test(value)) {
|
|
278
|
+
throw new AuthorizationError("invalid_context", `Invalid ${label}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
async #request(url, body, dpop, signal) {
|
|
283
|
+
try {
|
|
284
|
+
return await this.#fetch(url, {
|
|
285
|
+
method: "POST",
|
|
286
|
+
headers: { Accept: "application/json", ...(dpop === undefined ? {} : { DPoP: dpop }) },
|
|
287
|
+
body,
|
|
288
|
+
credentials: "omit",
|
|
289
|
+
redirect: "error",
|
|
290
|
+
...(signal === undefined ? {} : { signal }),
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
catch (cause) {
|
|
294
|
+
throw new AuthorizationError("request_failed", "Device Sign-In request failed", { cause });
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
async #decode(response, label) {
|
|
298
|
+
if (response.headers.get("content-type")?.split(";", 1)[0]?.trim() !== "application/json") {
|
|
299
|
+
throw new AuthorizationError("invalid_content_type", `${label} endpoint must return JSON`, {
|
|
300
|
+
statusCode: response.status,
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
const body = await response.text();
|
|
304
|
+
if (new TextEncoder().encode(body).byteLength > this.#maxResponseBytes) {
|
|
305
|
+
throw new AuthorizationError("response_too_large", `${label} response exceeds size limit`, {
|
|
306
|
+
statusCode: response.status,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
try {
|
|
310
|
+
return parseJsonStrict(body);
|
|
311
|
+
}
|
|
312
|
+
catch (cause) {
|
|
313
|
+
throw new AuthorizationError("invalid_json", `${label} endpoint returned invalid JSON`, {
|
|
314
|
+
statusCode: response.status,
|
|
315
|
+
cause,
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
#remoteError(response, payload, message) {
|
|
320
|
+
const source = typeof payload === "object" && payload !== null ? payload : {};
|
|
321
|
+
const remote = "error" in source ? source.error : undefined;
|
|
322
|
+
return new AuthorizationError(typeof remote === "string" ? remote : "http_error", message, {
|
|
323
|
+
statusCode: response.status,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
|
package/lib/errors.d.ts
CHANGED
|
@@ -45,4 +45,20 @@ export declare class ProofError extends PersonalAgentProtocolError {
|
|
|
45
45
|
cause?: unknown;
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
+
export declare class BrowserSessionError extends PersonalAgentProtocolError {
|
|
49
|
+
constructor(code: string, message: string, options?: {
|
|
50
|
+
cause?: unknown;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export declare class TransportError extends PersonalAgentProtocolError {
|
|
54
|
+
constructor(code: string, message: string, options?: {
|
|
55
|
+
cause?: unknown;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export declare class ConversationError extends PersonalAgentProtocolError {
|
|
59
|
+
constructor(code: string, message: string, options?: {
|
|
60
|
+
statusCode?: number;
|
|
61
|
+
cause?: unknown;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
48
64
|
//# sourceMappingURL=errors.d.ts.map
|
package/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAGlD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ;IASC,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,uBAAwB,SAAQ,0BAA0B;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAGlD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ;IASC,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,uBAAwB,SAAQ,0BAA0B;gBAEnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKpC;AAED,qBAAa,cAAe,SAAQ,0BAA0B;gBAE1D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKzD;AAED,qBAAa,aAAc,SAAQ,0BAA0B;gBAEzD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKzD;AAED,qBAAa,kBAAmB,SAAQ,0BAA0B;gBAE9D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKzD;AAED,qBAAa,YAAa,SAAQ,0BAA0B;gBAExD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ;CAKT;AAED,qBAAa,UAAW,SAAQ,0BAA0B;gBAEtD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKpC;AAED,qBAAa,mBAAoB,SAAQ,0BAA0B;gBAE/D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKpC;AAED,qBAAa,cAAe,SAAQ,0BAA0B;gBAE1D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKpC;AAED,qBAAa,iBAAkB,SAAQ,0BAA0B;gBAE7D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKzD"}
|
package/lib/errors.js
CHANGED
|
@@ -50,4 +50,22 @@ export class ProofError extends PersonalAgentProtocolError {
|
|
|
50
50
|
this.name = "ProofError";
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
+
export class BrowserSessionError extends PersonalAgentProtocolError {
|
|
54
|
+
constructor(code, message, options = {}) {
|
|
55
|
+
super(code, message, options);
|
|
56
|
+
this.name = "BrowserSessionError";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class TransportError extends PersonalAgentProtocolError {
|
|
60
|
+
constructor(code, message, options = {}) {
|
|
61
|
+
super(code, message, options);
|
|
62
|
+
this.name = "TransportError";
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export class ConversationError extends PersonalAgentProtocolError {
|
|
66
|
+
constructor(code, message, options = {}) {
|
|
67
|
+
super(code, message, options);
|
|
68
|
+
this.name = "ConversationError";
|
|
69
|
+
}
|
|
70
|
+
}
|
|
53
71
|
//# sourceMappingURL=errors.js.map
|
package/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,IAAI,CAAS;IACb,UAAU,CAAqB;IAC/B,OAAO,CAAoC;IAEpD,YACE,IAAY,EACZ,OAAe,EACf,UAII,EAAE;QAEN,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAEQ,QAAQ;QACf,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,0BAA0B;IACrE,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
export { AuthorizationError, DiscoveryError, IdentityError, PersonalAgentProtocolError, ProofError, ProtocolValidationError, SessionError, } from "./errors.js";
|
|
1
|
+
export { AuthorizationError, BrowserSessionError, ConversationError, DiscoveryError, IdentityError, PersonalAgentProtocolError, ProofError, ProtocolValidationError, SessionError, TransportError, } from "./errors.js";
|
|
2
|
+
export { ConversationClient, generateMessageId, type ConversationClientOptions, type ConversationEventOptions, type ConversationReceipt, type ConversationRequestOptions, type ConversationResponse, type StartConversationOptions, } from "./conversations.js";
|
|
3
|
+
export { DpopFetchClient, type DpopFetchClientOptions, type DpopFetchRequestOptions, } from "./transport.js";
|
|
4
|
+
export { BROWSER_ASSERTION_TYPE, BrowserSessionClient, buildBrowserAssertionClaims, type BrowserAssertionClaims, type BrowserAssertionOptions, type BrowserSessionStart, } from "./browser.js";
|
|
2
5
|
export { JoseDpopProofProvider, type DpopKeyMaterial, type DpopKeyResolver, type JoseAlgorithm, type JoseDpopProofProviderOptions, } from "./crypto.js";
|
|
3
6
|
export { AuthorizationCodeGrant, DirectSignInClient, buildDirectSignInRequest, validateDirectSignInCallback, type AuthorizationCodeGrantOptions, type DirectSignInBeginOptions, type DirectSignInCallback, type DirectSignInClientOptions, type DirectSignInCompleteOptions, type DirectSignInOptions, type DirectSignInRequest, type DirectSignInResult, type DirectSignInStart, } from "./auth.js";
|
|
7
|
+
export { DEVICE_CODE_GRANT, DeviceSignInClient, type DeviceSignInBeginOptions, type DeviceSignInClientOptions, type DeviceSignInPoll, type DeviceSignInStart, } from "./device.js";
|
|
4
8
|
export { discoverCompany, type DiscoveryOptions } from "./discovery.js";
|
|
5
9
|
export { AgentIdentityClient, type AgentIdentityClientOptions, type IdentityRequestOptions, } from "./identity.js";
|
|
6
10
|
export { parseJsonStrict } from "./json.js";
|
|
7
|
-
export { AuthorizationStateStores, BrowserHandoffs, Caches, Clocks, DpopProofProviders, DiscoveryTransports, ExtensionHandlers, KeyStores, PairwiseUserIdStores, ProtocolProfiles, RandomSources, Signers, TokenStores, UrlSafetyPolicies, buildPapReactor, createPapCorePlugin, firstContribution, type BrowserHandoff, type AuthorizationStateStore, type Clock, type DiscoveryTransport, type DpopProofProvider, type DpopProofRequest, type ExtensionHandler, type KeyReference, type KeyStore, type PairwiseUserIdStore, type PapCoreOptions, type ProtocolProfile, type ProtocolCache, type RandomSource, type Signer, type TokenStore, type UrlSafetyPolicy, } from "./reactor.js";
|
|
11
|
+
export { AuthorizationStateStores, BrowserHandoffs, BrowserFormPosts, Caches, Clocks, DpopProofProviders, DiscoveryTransports, ExtensionHandlers, KeyStores, PairwiseUserIdStores, ProtocolProfiles, RandomSources, Signers, TokenStores, UrlSafetyPolicies, buildPapReactor, createPapCorePlugin, firstContribution, type BrowserHandoff, type BrowserFormPost, type AuthorizationStateStore, type Clock, type DiscoveryTransport, type DpopProofProvider, type DpopProofRequest, type ExtensionHandler, type KeyReference, type KeyStore, type PairwiseUserIdStore, type PapCoreOptions, type ProtocolProfile, type ProtocolCache, type RandomSource, type Signer, type TokenStore, type UrlSafetyPolicy, } from "./reactor.js";
|
|
8
12
|
export { JWT_BEARER_GRANT, JWT_CLIENT_ASSERTION, SessionClient, SessionGrant, buildSessionAssertionClaims, generatePairwiseUserId, parseSessionToken, resolvePairwiseUserId, type RandomBytes, type SessionAssertionClaims, type SessionAssertionOptions, type SessionClientOptions, type SessionGrantOptions, type SessionRenewOptions, type SessionRequestOptions, type SessionToken, } from "./sessions.js";
|
|
9
13
|
export { SecretValue } from "./secret.js";
|
|
10
14
|
export { parseClientMetadata, parseConversationEvent, parseConversationEventPage, parseDiscoveryDocument, parseJsonWebKeySet, parseOAuthServerMetadata, parseMessage, parseOperation, type AgentDescriptor, type AgentProtocol, type ApiDescriptor, type AuthCapabilities, type ClientMetadata, type ConversationEvent, type ConversationEventPage, type ConversationResponder, type ConversationStatus, type DiscoveredCompany, type DiscoveryDocument, type ExtensionDescriptor, type JsonWebKey, type JsonWebKeySet, type Message, type OAuthServerMetadata, type Operation, type OperationConfirmation, type OperationResult, type OperationState, type Organization, type WebDescriptor, } from "./models.js";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,UAAU,EACV,uBAAuB,EACvB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|