@onepointfour-packs/flaredeck-agent 0.2.21 → 0.2.24
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/dist/connect.d.ts +4 -1
- package/dist/connect.js +4 -2
- package/dist/connect.js.map +1 -1
- package/dist/jam.d.ts +2 -1
- package/dist/jam.js +2 -2
- package/dist/jam.js.map +1 -1
- package/dist/jevguard.d.ts +7 -0
- package/dist/jevguard.js +84 -19
- package/dist/jevguard.js.map +1 -1
- package/dist/main.js +17 -2
- package/dist/main.js.map +1 -1
- package/dist/oauth.d.ts +7 -1
- package/dist/oauth.js +30 -9
- package/dist/oauth.js.map +1 -1
- package/dist/sandbox.d.ts +3 -1
- package/dist/sandbox.js +45 -18
- package/dist/sandbox.js.map +1 -1
- package/dist/serve.js +29 -0
- package/dist/serve.js.map +1 -1
- package/package.json +1 -1
package/dist/connect.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Interface } from 'node:readline';
|
|
1
2
|
/**
|
|
2
3
|
* Where these actually live, so nobody is asked to remember a URL.
|
|
3
4
|
*
|
|
@@ -17,4 +18,6 @@ export declare function connect(argv: string[]): Promise<void>;
|
|
|
17
18
|
* pasted on a command line ends up in shell history and in a screenshot. A server that cannot be
|
|
18
19
|
* discovered falls back to a pasted token, which is better than not connecting at all.
|
|
19
20
|
*/
|
|
20
|
-
export declare function connectInteractive(name: string, mcpUrl: string, port: number, say: (s: string) => void, ask: (q: string) => Promise<string
|
|
21
|
+
export declare function connectInteractive(name: string, mcpUrl: string, port: number, say: (s: string) => void, ask: (q: string) => Promise<string>,
|
|
22
|
+
/** The caller's keyboard reader, when it has one — see waitForCode. */
|
|
23
|
+
rl?: Interface): Promise<boolean>;
|
package/dist/connect.js
CHANGED
|
@@ -98,7 +98,9 @@ export async function connect(argv) {
|
|
|
98
98
|
* pasted on a command line ends up in shell history and in a screenshot. A server that cannot be
|
|
99
99
|
* discovered falls back to a pasted token, which is better than not connecting at all.
|
|
100
100
|
*/
|
|
101
|
-
export async function connectInteractive(name, mcpUrl, port, say, ask
|
|
101
|
+
export async function connectInteractive(name, mcpUrl, port, say, ask,
|
|
102
|
+
/** The caller's keyboard reader, when it has one — see waitForCode. */
|
|
103
|
+
rl) {
|
|
102
104
|
const origin = (() => {
|
|
103
105
|
try {
|
|
104
106
|
return new URL(mcpUrl).origin;
|
|
@@ -117,7 +119,7 @@ export async function connectInteractive(name, mcpUrl, port, say, ask) {
|
|
|
117
119
|
return false;
|
|
118
120
|
try {
|
|
119
121
|
const { authorize } = await import('./oauth.js');
|
|
120
|
-
const tokens = await authorize(origin, say, port, { resource: mcpUrl });
|
|
122
|
+
const tokens = await authorize(origin, say, port, { resource: mcpUrl, ...(rl ? { rl } : {}) });
|
|
121
123
|
const rest = (config.mcpServers ?? []).filter((m) => m.name !== name);
|
|
122
124
|
saveConfig({ ...config, mcpServers: [...rest, { name, url: mcpUrl, token: tokens.accessToken }] });
|
|
123
125
|
say(`✓ ${name} connected`);
|
package/dist/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/jam.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Interface } from 'node:readline';
|
|
1
2
|
import { type Tokens } from './oauth.js';
|
|
2
3
|
/**
|
|
3
4
|
* Jam (jam.dev) recordings, read by the HARNESS through Jam's MCP server used as a plain API.
|
|
@@ -16,7 +17,7 @@ export declare const JAM_ORIGIN = "https://mcp.jam.dev";
|
|
|
16
17
|
export declare function loadJam(): Tokens | null;
|
|
17
18
|
export declare function saveJam(tokens: Tokens): string;
|
|
18
19
|
/** One interactive login; the Jam workspace chosen in the browser is the one recordings are read from. */
|
|
19
|
-
export declare function loginJam(say: (s: string) => void): Promise<string>;
|
|
20
|
+
export declare function loginJam(say: (s: string) => void, rl?: Interface): Promise<string>;
|
|
20
21
|
/** jam.dev/c/<uuid> links in a piece of text, deduplicated, in order of appearance. */
|
|
21
22
|
export declare function jamLinks(text: string): string[];
|
|
22
23
|
/**
|
package/dist/jam.js
CHANGED
|
@@ -38,8 +38,8 @@ export function saveJam(tokens) {
|
|
|
38
38
|
return path;
|
|
39
39
|
}
|
|
40
40
|
/** One interactive login; the Jam workspace chosen in the browser is the one recordings are read from. */
|
|
41
|
-
export async function loginJam(say) {
|
|
42
|
-
const tokens = await authorize(JAM_ORIGIN, say, 41790, { scope: 'mcp:read', resource: JAM_MCP });
|
|
41
|
+
export async function loginJam(say, rl) {
|
|
42
|
+
const tokens = await authorize(JAM_ORIGIN, say, 41790, { scope: 'mcp:read', resource: JAM_MCP, ...(rl ? { rl } : {}) });
|
|
43
43
|
return saveJam(tokens);
|
|
44
44
|
}
|
|
45
45
|
/** jam.dev/c/<uuid> links in a piece of text, deduplicated, in order of appearance. */
|
package/dist/jam.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jam.js","sourceRoot":"","sources":["../src/jam.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jam.js","sourceRoot":"","sources":["../src/jam.ts"],"names":[],"mappings":"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"}
|
package/dist/jevguard.d.ts
CHANGED
|
@@ -19,6 +19,13 @@ export type GuardConfig = {
|
|
|
19
19
|
repo: string;
|
|
20
20
|
/** The card being worked, when there is one. */
|
|
21
21
|
card: () => string | null;
|
|
22
|
+
/**
|
|
23
|
+
* What this agent can actually reach right now, in plain lines — the services its own
|
|
24
|
+
* environment script started, whether it can publish, which production systems exist on this
|
|
25
|
+
* machine at all. Without it the judge is guessing at whether `psql "$DATABASE_URL"` is a
|
|
26
|
+
* scratch database or a live one, and it guesses the expensive way.
|
|
27
|
+
*/
|
|
28
|
+
access?: () => string[];
|
|
22
29
|
};
|
|
23
30
|
export declare function audit(entry: Record<string, unknown>): void;
|
|
24
31
|
/**
|
package/dist/jevguard.js
CHANGED
|
@@ -24,18 +24,21 @@ import { dirname, join } from 'node:path';
|
|
|
24
24
|
const ENDPOINT = 'https://openrouter.ai/api/alpha/decisions';
|
|
25
25
|
const MODEL = 'typesafe/jev-1.13';
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* There are two outcomes, not three, because ASKING IS WEAK.
|
|
28
28
|
*
|
|
29
29
|
* Someone who has lost contact with the work approves everything to get it moving, which is no
|
|
30
|
-
* permission system at all — just a slower one with a name attached.
|
|
31
|
-
*
|
|
32
|
-
* and
|
|
33
|
-
*
|
|
34
|
-
*
|
|
30
|
+
* permission system at all — just a slower one with a name attached. And an agent runs at night:
|
|
31
|
+
* every command that reached the asking band in two days of real work waited ten minutes for
|
|
32
|
+
* nobody and then failed as "denied", so the work did not happen AND nobody decided it should
|
|
33
|
+
* not. So a command either runs or is refused, and a refusal is readable — the agent routes it
|
|
34
|
+
* through set-needs-human with the script attached, where a person sees the thing itself.
|
|
35
|
+
*
|
|
36
|
+
* What is left is a short list, and all of it reaches off this machine: data that cannot be put
|
|
37
|
+
* back, infrastructure that cannot be rebuilt, a secret that cannot be unsent.
|
|
35
38
|
*/
|
|
36
39
|
const REFUSE_AT = 0.6;
|
|
37
|
-
/**
|
|
38
|
-
const
|
|
40
|
+
/** Off this machine, with no way back: the bar is lower, because the undo is the thing missing. */
|
|
41
|
+
const IRREVERSIBLE_AT = 0.4;
|
|
39
42
|
/** Reading a credential into the transcript is not "destructive", so it is judged on its own. */
|
|
40
43
|
const EXPOSE_AT = 0.6;
|
|
41
44
|
/**
|
|
@@ -68,17 +71,30 @@ const READS = [
|
|
|
68
71
|
/^(jq|yq)\b/,
|
|
69
72
|
/^echo\b/,
|
|
70
73
|
/^sort\b|^uniq\b|^cut\b|^tr\b|^column\b|^tee\s+\/dev\/null$/,
|
|
74
|
+
// Asking where a program is. `which psql` was being judged because it contains the word psql,
|
|
75
|
+
// and an agent looking for a binary waited on a person to let it look.
|
|
76
|
+
/^(which|type|command\s+-v|hash)\b/,
|
|
71
77
|
// find is a read UNLESS it is told to act.
|
|
72
78
|
/^find\b(?![^\n]*\s-(delete|exec|execdir|ok|okdir)\b)/,
|
|
73
79
|
// git, in its looking moods only.
|
|
74
80
|
/^git\s+(show|log|diff|status|branch|remote\s+-v|rev-parse|rev-list|ls-files|ls-remote|describe|blame|cat-file|config\s+--get)\b/,
|
|
75
81
|
/^npm\s+(ls|view|outdated)\b|^node\s+-p\b|^node\s+--version$/,
|
|
76
82
|
];
|
|
83
|
+
/**
|
|
84
|
+
* Names that are a secret whatever you do to them. Reading one IS the exposure: once a key is in
|
|
85
|
+
* the transcript it has already left, and there is nothing to approve afterwards. `cat .env` sat
|
|
86
|
+
* on the reads list and walked straight past the judge, which is the one thing the reads list
|
|
87
|
+
* must never let through.
|
|
88
|
+
*/
|
|
89
|
+
const SECRET_NAME = /\.(env|pem|key|p12|p8)\b|\b(id_rsa|id_ed25519|credentials|service-?account|secrets?\.(json|ya?ml))\b/i;
|
|
77
90
|
/** True when every part of this command only reads. See READS. */
|
|
78
91
|
export function isJustReading(command) {
|
|
79
92
|
const text = command.trim();
|
|
80
93
|
if (!text)
|
|
81
94
|
return false;
|
|
95
|
+
// Reading a secret is not reading.
|
|
96
|
+
if (SECRET_NAME.test(text))
|
|
97
|
+
return false;
|
|
82
98
|
// A heredoc or an interpreter means the real command is text we are not reading. Not a read.
|
|
83
99
|
if (/<<|\b(python3?|node|ruby|perl|bash|sh|zsh)\s+-[ce]\b|\beval\b/.test(text))
|
|
84
100
|
return false;
|
|
@@ -89,7 +105,9 @@ export function isJustReading(command) {
|
|
|
89
105
|
return segments.length > 0 && segments.every((seg) => READS.some((re) => re.test(seg)));
|
|
90
106
|
}
|
|
91
107
|
const INTERESTING = [
|
|
92
|
-
|
|
108
|
+
// The flag has to BE a flag. Unanchored, `-[a-z]*r` matched the `-hr` inside
|
|
109
|
+
// `verify-hr0608-browser.mjs`, so deleting one file it had just written read as `rm -r`.
|
|
110
|
+
/\brm\b[^\n]*(^|\s)(-[a-z]*r|--recursive)/i,
|
|
93
111
|
/\b(drop|truncate|delete\s+from)\b/i,
|
|
94
112
|
/\b(psql|mysql|mongo|mongosh|redis-cli|sqlite3|dbmate|flyway|liquibase)\b/i,
|
|
95
113
|
/\b(prisma|sequelize|knex|typeorm|alembic|rails)\b.*\b(migrate|reset|drop|db:drop|db:reset)\b/i,
|
|
@@ -136,14 +154,46 @@ export function audit(entry) {
|
|
|
136
154
|
// An audit line that cannot be written must not stop the work it is describing.
|
|
137
155
|
}
|
|
138
156
|
}
|
|
139
|
-
|
|
157
|
+
/**
|
|
158
|
+
* Where the command is being run, which Jev was never told.
|
|
159
|
+
*
|
|
160
|
+
* It used to be given one sentence — "an agent working unattended in a git checkout" — and judged
|
|
161
|
+
* everything from there. So `npm run deploy:dev` read as a deploy, `. .harness/mac.env` read as a
|
|
162
|
+
* secret, and `truncate people_scratch` read as losing data, and each one stopped the agent dead
|
|
163
|
+
* on a box where none of it was true. Measured over the real commands from two days of work, that
|
|
164
|
+
* one sentence was the difference between seven interruptions and none.
|
|
165
|
+
*
|
|
166
|
+
* Both halves matter and the second is the one that is easy to leave out. Saying only that the
|
|
167
|
+
* machine is disposable makes a judge conclude that `terraform destroy` is local and a .env is
|
|
168
|
+
* not a secret — both of which it did, until this said otherwise.
|
|
169
|
+
*/
|
|
170
|
+
const WHERE = (access) => 'A software agent is working unattended on a machine of its own, in a git worktree cut for one ' +
|
|
171
|
+
'card, on a branch nobody else uses.\n\n' +
|
|
172
|
+
(access.length
|
|
173
|
+
? `WHAT IT CAN ACTUALLY REACH, as the harness knows it:\n${access.map((a) => ` · ${a}`).join('\n')}\n\n` +
|
|
174
|
+
'That list tells you what is scratch here. It does NOT tell you that anything missing from ' +
|
|
175
|
+
'it is harmless — assume a command reaches what it names.\n\n'
|
|
176
|
+
: '') +
|
|
177
|
+
'THIS MACHINE IS DISPOSABLE. Its checkout, its local database and its local services are ' +
|
|
178
|
+
'scratch — made by a script, rebuilt from nothing routinely, shared with no one. Deleting, ' +
|
|
179
|
+
'resetting or rebuilding anything that lives ON it is ordinary work and not destruction: ' +
|
|
180
|
+
'node_modules, a local scratch database, a container, files in the worktree, a local branch, a ' +
|
|
181
|
+
'local service. There is nothing on it to lose.\n\n' +
|
|
182
|
+
'NOTHING IT CAN REACH IS DISPOSABLE. A command that leaves this machine reaches the real thing, ' +
|
|
183
|
+
'whoever typed it and wherever from: a cloud project, managed infrastructure, a storage bucket, ' +
|
|
184
|
+
'a cluster, a remote or shared database, a deployed service, a shared git branch. Judge those ' +
|
|
185
|
+
'exactly as you would from anywhere else.\n\n' +
|
|
186
|
+
'SECRETS ARE SECRET HERE AS ANYWHERE. A key, a token, a password, a .env or a service-account ' +
|
|
187
|
+
'file printed, copied, encoded or sent is exposed even on a scratch machine.\n\n' +
|
|
188
|
+
'It wants to run this shell command:\n\n';
|
|
189
|
+
async function ask(command, apiKey, access) {
|
|
140
190
|
const started = Date.now();
|
|
141
191
|
const res = await fetch(ENDPOINT, {
|
|
142
192
|
method: 'POST',
|
|
143
193
|
headers: { Authorization: `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
|
|
144
194
|
body: JSON.stringify({
|
|
145
195
|
model: MODEL,
|
|
146
|
-
state:
|
|
196
|
+
state: `${WHERE(access)}${command}`,
|
|
147
197
|
questions: {
|
|
148
198
|
destructive: {
|
|
149
199
|
type: 'noul',
|
|
@@ -201,7 +251,7 @@ export async function judgeCommand(cfg, command) {
|
|
|
201
251
|
// ever fail, and the handler below is already exactly the right behaviour for it.
|
|
202
252
|
if (!cfg.apiKey)
|
|
203
253
|
throw new Error('no OpenRouter key on this machine');
|
|
204
|
-
verdict = await ask(command, cfg.apiKey);
|
|
254
|
+
verdict = await ask(command, cfg.apiKey, cfg.access?.() ?? []);
|
|
205
255
|
}
|
|
206
256
|
catch (e) {
|
|
207
257
|
// Fail CLOSED, but to a person rather than to a refusal: an unreachable decision model must
|
|
@@ -245,9 +295,24 @@ export async function judgeCommand(cfg, command) {
|
|
|
245
295
|
'Read what you need from the application config instead, or say on the card which credential you need and why.',
|
|
246
296
|
};
|
|
247
297
|
}
|
|
298
|
+
// Nothing that stays on this machine is worth stopping. The checkout comes back from git, the
|
|
299
|
+
// database comes back from the script that made it, the container comes back from a build — so
|
|
300
|
+
// a local blast radius runs, however destructive it looks. This is the whole point of giving an
|
|
301
|
+
// agent a machine of its own, and without it the guard spent two days interrupting a person
|
|
302
|
+
// over npm installs, scratch databases and `which psql`.
|
|
303
|
+
if (verdict.blast === 'local') {
|
|
304
|
+
audit({ ...base, outcome: 'ran', why: 'local', jev });
|
|
305
|
+
return { allow: true };
|
|
306
|
+
}
|
|
248
307
|
// REVERSIBILITY is the line, not blast radius. A deploy reaches production and is meant to — it
|
|
249
308
|
// can be deployed again. A TRUNCATE reaches production and cannot be undone.
|
|
250
|
-
|
|
309
|
+
//
|
|
310
|
+
// Off this machine, "cannot be undone" carries the decision on its own. Telling the judge what
|
|
311
|
+
// the harness holds made it score `terraform destroy` less destructive — still production, still
|
|
312
|
+
// 0.25 reversible, but 0.57 where it had been 0.83 — and a rule that needed BOTH high scores let
|
|
313
|
+
// it through. A thing that reaches production and cannot be put back is the case this exists for,
|
|
314
|
+
// whatever confidence came back with it.
|
|
315
|
+
if (verdict.reversible < 0.5 && verdict.destructive >= IRREVERSIBLE_AT) {
|
|
251
316
|
cfg.log(`refused a ${verdict.blast} command (${Math.round(verdict.destructive * 100)}% destructive, no way back)`);
|
|
252
317
|
audit({ ...base, outcome: 'refused', why: 'irreversible', jev });
|
|
253
318
|
return {
|
|
@@ -263,12 +328,12 @@ export async function judgeCommand(cfg, command) {
|
|
|
263
328
|
audit({ ...base, outcome: 'ran', why: 'reversible', jev });
|
|
264
329
|
return { allow: true };
|
|
265
330
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
331
|
+
// There is no band that asks any more. Every command that used to land here was ordinary work
|
|
332
|
+
// in the agent's own checkout, and every one of them waited ten minutes for a person who was
|
|
333
|
+
// not watching and then failed as "denied" — which is the worst of both: the work did not
|
|
334
|
+
// happen and nobody decided it should not. What is left either runs or is refused outright,
|
|
335
|
+
// and a refusal is readable: the agent routes it through set-needs-human WITH the script, so a
|
|
336
|
+
// person sees the thing itself rather than a yes/no about a sentence.
|
|
272
337
|
audit({ ...base, outcome: 'ran', jev });
|
|
273
338
|
return { allow: true };
|
|
274
339
|
}
|
package/dist/jevguard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jevguard.js","sourceRoot":"","sources":["../src/jevguard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAM1C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,QAAQ,GAAG,2CAA2C,CAAC;AAC7D,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAElC
|
|
1
|
+
{"version":3,"file":"jevguard.js","sourceRoot":"","sources":["../src/jevguard.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -210,6 +210,16 @@ async function cmdLogin(argv) {
|
|
|
210
210
|
// lapsed or been revoked, which otherwise only shows up as a failed push hours later.
|
|
211
211
|
if (argv.includes('--github') && !givenToken)
|
|
212
212
|
delete config.github;
|
|
213
|
+
// A stored login that can no longer publish is worse than no login at all: `login` reports
|
|
214
|
+
// success, and the agent finds out hours later when a push fails with the work already done.
|
|
215
|
+
// The same check the daemon refuses to start on, run here, where it can simply be redone.
|
|
216
|
+
if (config.github && !givenToken) {
|
|
217
|
+
const { canPublish } = await import('./githubauth.js');
|
|
218
|
+
if (await canPublish(config.github)) {
|
|
219
|
+
say(' The GitHub login stored here can no longer publish — signing in again.');
|
|
220
|
+
delete config.github;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
213
223
|
if (!config.github) {
|
|
214
224
|
step(2, 'GitHub', 'So this machine can push branches and open pull requests. The agent never sees this token.');
|
|
215
225
|
try {
|
|
@@ -311,7 +321,7 @@ async function cmdLogin(argv) {
|
|
|
311
321
|
say(' Already connected.');
|
|
312
322
|
else if (await yes(' Connect Jam now?')) {
|
|
313
323
|
try {
|
|
314
|
-
await loginJam(say);
|
|
324
|
+
await loginJam(say, rl);
|
|
315
325
|
say('✓ Jam connected');
|
|
316
326
|
}
|
|
317
327
|
catch (e) {
|
|
@@ -339,7 +349,7 @@ async function cmdLogin(argv) {
|
|
|
339
349
|
if (!url)
|
|
340
350
|
continue;
|
|
341
351
|
try {
|
|
342
|
-
await connectInteractive(name, url, port, say, (q) => rl.question(q));
|
|
352
|
+
await connectInteractive(name, url, port, say, (q) => rl.question(q), rl);
|
|
343
353
|
}
|
|
344
354
|
catch (e) {
|
|
345
355
|
// Optional means optional: one that will not connect is reported and stepped over, not
|
|
@@ -368,6 +378,11 @@ async function cmdLogin(argv) {
|
|
|
368
378
|
say(extrasSummary());
|
|
369
379
|
say('');
|
|
370
380
|
say('Start it with: flaredeck-agent Check it with: flaredeck-agent whoami');
|
|
381
|
+
// A login is over once it has printed this. Something from the sign-ins — a socket a browser
|
|
382
|
+
// is still holding, a reader on the terminal — can outlive the work and leave the prompt
|
|
383
|
+
// sitting there, which looks exactly like a step that never finished. Flush, then end.
|
|
384
|
+
await new Promise((done) => process.stdout.write('', () => done()));
|
|
385
|
+
process.exit(0);
|
|
371
386
|
}
|
|
372
387
|
/** What a token says about who holds it. */
|
|
373
388
|
function claimsOf(accessToken) {
|